手把手教你安装Jenkins,一步步打造你的CI/CD流程
1 | 作者:李晓辉 |
今天来和大家唠唠Jenkins这玩意儿。你是不是也像我一样,每次看到团队里那些复杂的代码集成和部署流程就头大?别怕,Jenkins就是那个能帮咱们轻松搞定这些事儿的“超级英雄”!
想象一下,每次你提交代码后,都能自动触发一系列的测试,要是有问题,第一时间就能发现,再也不用等到最后上线时手忙脚乱。而且,部署新版本也变得轻而易举,一键搞定,简直是开发者的福音!
我最近刚鼓捣完Jenkins的安装,过程里踩了不少坑,但也收获满满。所以,我想把这事儿和大家分享一下,希望能帮到那些和我一样刚开始接触Jenkins的小伙伴。不管你是新手小白,还是想在自己的机器上试试Jenkins的老司机,这篇博客都能给你点启发。咱们一起把开发流程搞得更顺溜,让代码飞起来!
版本介绍
LTS(长期支持版)
这个版本,简直就是稳如老狗。Jenkins团队每隔12周才会挑一个出来,说“嘿,这个版本够稳,拿去用吧”。它就像是经过千锤百炼的战士,啥大风大浪没见过,所以特别适合那些对稳定性要求超高的大公司。你想想,大公司里项目多、流程复杂,要是用个不稳定的工具,那不得天天出bug,烦都烦死了。LTS版本就不会,它能稳稳地帮你把事儿干完,而且还会给你打补丁,修复那些关键的漏洞。就像你有个老朋友,虽然不咋爱说话,但关键时刻绝对靠得住!
Weekly(每周版)
Weekly版本呢,就完全不一样了。这货是个急性子,每周都更新一次,就像个追风少年,啥新鲜玩意儿都想试试。它里面全是最新最炫的功能,要是你是个爱折腾的开发者,每周版绝对能让你眼前一亮。不过呢,因为更新太快,偶尔也会有点小毛病。但这不是问题,因为社区里的人也爱折腾,遇到问题大家一起解决,很快就能搞定。Weekly版本特别适合那些小团队或者个人开发者,你们不是天天想搞点新花样嘛,这个版本就能满足你。
总之,LTS和Weekly,一个稳一个快,看你啥时候用啥。要是你图个安稳,就选LTS;要是你想尝鲜,Weekly绝对是个不错的选择。
支持的平台
Jenkins 是一个跨平台的自动化服务器,支持多种操作系统和平台。以下是Jenkins支持的主要平台:
Linux
Debian/Ubuntu:通过
apt
包管理器安装。Fedora:通过
dnf
包管理器安装。Red Hat Enterprise Linux及其衍生版本(如AlmaLinux、Rocky Linux、Oracle Linux、CentOS):通过
yum
或dnf
包管理器安装。
Windows
- 可以通过安装程序安装,也可以使用WAR文件手动安装。
macOS
- 可以通过Homebrew安装,也可以使用WAR文件手动安装。
Docker
- Jenkins可以作为Docker容器运行,支持在macOS、Linux和Windows上使用Docker。
我们本次采用的是Rocky Linux 9.4
,用rpm的方法安装Jenkins LTS版本
添加Jenkins仓库
现在向系统添加Jenkins官方的仓库
1 | sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo |
安装Jenkins
从仓库中,安装Jenkins依赖,然后再安装Jenkins
1 | sudo yum install fontconfig java-21-openjdk -y |
如果上面的jenkins软件包下载速度过慢,可以考虑在这里下载国内加速的包
https://mirrors.nju.edu.cn/jenkins/redhat-stable
启动Jenkins服务
1 | [root@localhost ~]# sudo systemctl enable jenkins --now |
看看起来了没
我们发现他说初始密码放在/var/lib/jenkins/secrets/initialAdminPassword了
,而且看到它监听了8080端口
1 | [root@localhost ~]# sudo systemctl status jenkins |
开通防火墙
1 | YOURPORT=8080 |
验证Jenkins安装
Jenkins是基于Java的,我们看看java是否安装,Jenkins是否能打开
1 | [root@localhost ~]# java --version |
你可以直接打开浏览器,输入http://你的IP:8080
看到让我们输入密码,从上面的日志中,我们可以看到密码所在
1 | [root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword |
把密码填上去,点击继续
然后看到一个插件安装提示,一般来说,我们就选左边的推荐插件安装就行
点击推荐的插件后
这个插件的安装可能得老大一会儿,你多等等
我们看看这个咋加速,用国内加速站安装快
我们先看看Jenkins的家目录在哪儿
1 | [root@localhost ~]# grep jenkins /etc/passwd |
进去看看更新都有啥
啥?用Google测试能不能链接?还链接updates这个国内很慢的网址?nonono
1 | [root@localhost jenkins]# cd updates/ |
给我换成国内的,嘻嘻
不过服务重启后就没有了哦,聊胜于无,你可以后面在页面上配置的
1 | sed -i 's|https://updates.jenkins.io/download|https://mirrors.nju.edu.cn/jenkins|g' default.json |
不管你换了没有,我们都可以安装成功,无非时间长短问题罢了
我们来创建第一个管理员
再确认一下服务器URL
ok,现在我们已经成功登录了主页面
说到Jenkins,我得给你讲讲我之前遇到的一个超有趣场景。那会儿我们团队正忙着开发一个新项目,代码库里的代码像滚雪球一样越堆越多,每次合并代码都跟打仗似的。每次有小伙伴提交代码,大家就得手动跑一遍测试,要是测试没通过,就得一个个排查问题,那效率,简直就跟蜗牛赛跑似的。
就在这时候,我发现了Jenkins这个“神器”。我花了点时间把它装好、配置好,然后就像施了魔法一样,每次有人提交代码,Jenkins就自动跳出来,悄咪咪地把代码拉过来,开始跑测试。要是测试通过了,它就默默记下来,要是没通过,它就立刻发个警报,把有问题的地方指得清清楚楚。
有一次,我半夜在家,突然收到Jenkins发来的消息,说新提交的代码有个测试没通过。我赶紧打开电脑,一看,原来是一个小bug,我迅速修复了它,重新提交。没多久,Jenkins就告诉我测试通过了。那一刻,我简直对Jenkins爱得不行,它就像我的私人小助手,24小时不打烊,帮我们把关,让我们的开发流程顺畅得不行。
从那以后,团队里的小伙伴们再也不用为手动测试和代码合并烦恼了,大家都能把精力集中在写代码上。而且,每次有新版本要上线,Jenkins还能帮我们一键部署,简直是太省心了。这玩意儿,真的是开发团队的“救星”啊!