每次代码提交都像是在暗恋,不知道能否通过测试?而Jenkins就是那位诚实的红娘,第一时间告诉你是否配对成功。
在软件开发的世界里,我们Ruby on Rails开发者总是面临着这样的困境:代码在本地运行得好好的,但一提交到团队仓库就开始各种“闹脾气”。
难道我们注定要浪费时间在手动测试和部署上吗?当然不!今天,就让我带你走进Jenkins的自动化世界,这位不知疲倦的助手能够为你的Rails项目带来持续集成和持续部署的超能力。
第一章:Jenkins是谁?为什么它爱上了Ruby?
Jenkins是一个用Java编写的开源持续集成工具,但它对Ruby和Rails项目情有独钟。想象一下,有一个不知疲倦的助手,每次你推送代码到仓库,它都会自动运行测试、检查代码质量,甚至帮你部署到服务器。这就是Jenkins的魅力所在!
持续集成这个术语由Martin Fowler于2000年提出,它鼓励团队在一天之中多次集成代码,避免集成冲突,并以同样的频率部署功能和修正缺陷。而Jenkins正是实现这一理念的完美工具。
为什么Rails项目需要Jenkins?
设想一个场景:你刚完成了一个令人兴奋的功能,本地测试全部通过,但当你合并到主分支后,却发现与其他团队成员的代码冲突,导致应用崩溃。有了Jenkins,这个问题在代码合并前就会被发现,大大减少了调试时间和团队摩擦。
第二章:如何“追求”Jenkins:安装与配置
在Ubuntu上安装Jenkins
安装Jenkins其实非常简单,只需要几条命令就能搞定:
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
安装完成后,Jenkins会自动创建一个名为jenkins的用户,并在8080端口启动服务。你可以通过浏览器访问http://your_server_ip:8080来打开Jenkins界面。
注意:对于内存小于1GB的服务器,Jenkins在构建时可能会因为内存不足而崩溃,建议使用至少1GB内存的服务器。
初始设置
首次访问Jenkins时,你需要输入初始密码。这个密码存储在服务器的文件中:
cat /var/lib/jenkins/secrets/initialAdminPassword
输入密码后,按照提示创建管理员账户,并安装推荐的插件。这些插件包括Git集成、Pipeline支持等,为后续的Rails项目构建奠定基础。
配置Ruby环境
Jenkins默认使用自己的用户运行任务,我们需要为这个用户配置Ruby环境。推荐使用RVM管理Ruby版本:
# 切换到jenkins用户
sudo su - jenkins
# 安装RVM
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash
# 将RVM加入shell环境
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc
source ~/.bashrc
# 安装项目所需的Ruby版本
rvm install 2.6.5
rvm use 2.6.5
# 安装Bundler
gem install bundler
不要忘记安装Rails应用可能需要的系统依赖:
sudo apt-get install autoconf b

最低0.47元/天 解锁文章
70

被折叠的 条评论
为什么被折叠?



