3、Jenkins环境搭建:Jenkins安装与配置、插件管理、凭据管理、分布式构建节点配置
好,咱们进入正题。Jenkins 这玩意儿,说白了就是 CI/CD 流水线的「大脑」。我见过不少团队,代码写得挺好,一到了部署环节就手忙脚乱。嗯,Jenkins 就是来解决这个问题的。
这一章,我会带你一步步把 Jenkins 环境搭起来。从安装、配置,到插件和凭据管理,再到分布式节点。你跟着走一遍,基本就能应付日常工作了。
3.1 Jenkins 安装与基础配置
安装 Jenkins 其实不复杂。我个人习惯用 Docker 部署,干净利落,出了问题删了重来也快。当然,生产环境我建议你用包管理器装,更稳定。
方式一:Docker 安装(推荐用于测试/学习)
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
启动后,访问 http://你的服务器IP:8080。第一次进去,会让你输入一个初始密码。这个密码在哪?
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
复制出来,粘贴进去就行。
方式二:包管理器安装(推荐用于生产)
以 CentOS 为例:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install jenkins -y
sudo systemctl start jenkins
sudo systemctl enable jenkins
安装完成后,记得检查一下 Java 环境。Jenkins 依赖 Java 11 或 17。我在项目中遇到过有人装了 Jenkins 但启动不了,最后发现是 Java 版本不对。
3.2 插件管理——别什么都装
Jenkins 的强大在于插件生态。但这里有个坑:不要装太多插件。
我见过一个团队,为了图方便,把推荐的插件全装了。结果 Jenkins 启动越来越慢,页面加载要半分钟。后来我帮他们清理了一堆用不上的插件,速度立马就上来了。
必装插件清单:
| 插件名称 | 用途 |
|---|---|
| Git Plugin | 拉取 Git 仓库代码 |
| Pipeline | 流水线核心插件 |
| Blue Ocean | 可视化流水线界面 |
| Credentials Binding | 凭据绑定与管理 |
| Docker Pipeline | Docker 构建与发布 |
| Kubernetes CLI | 与 K8s 集群交互 |
安装插件很简单:系统管理 → 插件管理 → 可选插件,搜索名字勾选安装就行。
3.3 凭据管理——安全第一
凭据管理,说白了就是管理你的「钥匙」。Git 密码、SSH 密钥、Docker 认证……这些东西不能明文写在代码里。
Jenkins 提供了专门的凭据管理功能。位置在:系统管理 → Manage Credentials。
支持的凭据类型:
- Username with password:用户名密码,最常用
- SSH Username with private key:SSH 密钥对,连接 Git 服务器常用
- Secret text:API Token 之类的文本密钥
- Certificate:证书文件
举个例子,你要连接 GitHub 私有仓库:
- 在 GitHub 生成一个 Personal Access Token
- 在 Jenkins 添加凭据,类型选「Username with password」
- Username 填你的 GitHub 用户名,Password 填那个 Token
- 在流水线里引用这个凭据 ID 就行
嗯,这里要注意:凭据 ID 要起个好记的名字。我习惯用 github-token、docker-hub-auth 这种格式,一看就知道是干什么的。
3.4 分布式构建节点配置
单机跑 Jenkins 没问题,但一旦项目多了,构建任务排队,你就知道什么叫「慢如蜗牛」了。
分布式构建节点,就是把构建任务分发到多台机器上执行。Jenkins 主节点负责调度,从节点负责干活。
配置步骤:
- 在 Jenkins 主节点:
系统管理 → 节点管理 → 新建节点 - 填写节点名称,选择「Permanent Agent」
- 配置远程工作目录,比如
/home/jenkins/agent - 填写启动方式,一般选「通过 SSH 启动代理」
- 输入从节点的 IP、用户名、认证凭据
配置好之后,你可以在节点列表里看到它。状态显示「已同步」,就说明连接成功了。
节点配置示例:
| 配置项 | 示例值 |
|---|---|
| 名称 | build-node-01 |
| 远程工作目录 | /opt/jenkins/workspace |
| 启动方式 | 通过 SSH 启动代理 |
| 主机 | 192.168.1.100 |
| 凭据 | ssh-key-for-jenkins |
| 执行器数量 | 2 |
配置好分布式节点后,你可以在流水线里指定用哪个节点:
pipeline {
agent { label 'build-node-01' }
stages {
stage('Build') {
steps {
echo '这个任务会在 build-node-01 上执行'
}
}
}
}
如果不指定标签,默认会在主节点上跑。我建议你把主节点只用来调度,构建任务全部分发到从节点。这样主节点轻装上阵,不容易崩。
3.5 小结
好了,这一章的内容就这些。Jenkins 环境搭建,说白了就是三步:装起来、配插件、管好凭据和节点。
你可能会觉得这些操作有点琐碎。但相信我,基础打好了,后面写流水线的时候会特别顺畅。我刚开始做 CI/CD 时,就是因为环境没搭好,后面排查问题花了好几倍的时间。
下一章,咱们开始写真正的流水线脚本。到时候你会觉得,嗯,前面这些准备工作,值了。