在 Ubuntu 上部署 Jenkins 持续集成
一 环境准备与安装
- 更新系统并安装 Java(推荐 OpenJDK 11):
- 命令:
sudo apt update && sudo apt install -y openjdk-11-jdk
- 验证:
java -version
- 导入 Jenkins 官方 GPG 密钥 并添加 Debian 稳定源:
- 命令:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
- 命令:
echo deb https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
- 安装并启动 Jenkins:
- 命令:
sudo apt update && sudo apt install -y jenkins
- 启动与自启:
sudo systemctl start jenkins && sudo systemctl enable jenkins
- 检查状态:
sudo systemctl status jenkins
二 首次访问与初始化配置
- 访问地址:
http://<服务器IP或域名>:8080
- 获取初始管理员密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 在向导中选择 Install suggested plugins 安装推荐插件,随后创建 管理员账户 完成初始化
三 防火墙与端口配置
- 如使用 UFW,放行 8080 端口:
- 如需修改 Jenkins 端口(默认 8080),编辑配置文件:
- 文件:
/etc/default/jenkins
- 修改项:
HTTP_PORT=8081(示例)
- 重启服务:
sudo systemctl restart jenkins
- 云服务器需确保安全组/防火墙规则已放行对应端口
四 创建第一个 Pipeline 任务
- 安装常用插件:Git Plugin、Pipeline Plugin
- 新建任务:Jenkins 首页 → New Item → 输入名称 → 选择 Pipeline → OK
- 配置 Pipeline:
- 方式一:Pipeline script(直接在页面中编写 Jenkinsfile 脚本)
- 方式二:Pipeline script from SCM(选择 Git,填写仓库 URL,配置凭据,指定 Jenkinsfile 路径)
- 保存后点击 Build Now,在 Console Output 查看构建日志与结果
五 稳定运行与安全加固建议
- 性能与稳定性:
- 为 Jenkins 分配足够内存与资源,合理设置 构建并发数,定期更新 Jenkins 与插件
- 常见问题排查:
- 端口冲突:使用
sudo netstat -tulpen | grep 8080 检查占用并调整端口
- Java 版本不兼容:确认安装 受支持的 JDK 版本
- 插件问题:可先禁用全部插件后逐个启用定位问题
- 权限问题:确保 Jenkins 用户对工作目录与日志目录有读写权限
- 磁盘空间:监控 工作目录所在分区 的可用空间
- 安全加固(可选但强烈建议):
- 在 Manage Jenkins → Configure Global Security 启用安全与 CSRF 保护,采用 基于项目矩阵 或 角色策略 的授权
- 配置 SSL/TLS 以加密访问(可使用反向代理或内置 HTTPS)
- 使用 代理兼容 配置(如反向代理场景)