1. Jenkins安装前准备
1.1 系统要求检查
在开始安装Jenkins之前,我们需要确保系统满足最低配置要求。根据官方文档,Jenkins的最低推荐配置如下:
- 内存:256MB可用内存(作为Docker容器运行建议1GB)
- 磁盘空间:1GB可用空间(作为Docker容器运行建议10GB)
- Java环境:Java 8(JRE或JDK均可)
对于小型团队的生产环境,建议配置:
- 内存:1GB+
- 磁盘空间:50GB+
注意:如果计划将Jenkins作为Docker容器运行,Java环境不是必须的,因为官方镜像已经包含了所需的Java环境。
1.2 Java环境安装
Jenkins是基于Java开发的应用程序,因此需要先安装Java环境。以下是各平台的Java安装方法:
Ubuntu/Debian系统:
sudo apt update sudo apt install openjdk-8-jdkCentOS/RHEL系统:
sudo yum install java-1.8.0-openjdk-devel验证Java安装:
java -version应该能看到类似以下的输出:
openjdk version "1.8.0_292" OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10) OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)1.3 防火墙配置
如果系统启用了防火墙,需要开放Jenkins将使用的端口(默认8080和50000):
Ubuntu/Debian(UFW):
sudo ufw allow 8080 sudo ufw allow 50000 sudo ufw enableCentOS/RHEL(Firewalld):
sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --permanent --add-port=50000/tcp sudo firewall-cmd --reload2. Jenkins安装方法
2.1 使用Docker安装(推荐)
Docker是最简单、最干净的Jenkins安装方式,特别适合快速部署和测试环境。
安装Docker:
# Ubuntu/Debian sudo apt update sudo apt install docker.io sudo systemctl enable --now docker # CentOS/RHEL sudo yum install docker sudo systemctl enable --now docker运行Jenkins容器:
docker run -d \ --name jenkins \ -u root \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean参数说明:
-d:后台运行容器--name jenkins:为容器命名-u root:以root用户运行(避免权限问题)-p 8080:8080:映射Web界面端口-p 50000:50000:映射代理通信端口-v jenkins-data:/var/jenkins_home:持久化Jenkins数据-v /var/run/docker.sock:/var/run/docker.sock:允许Jenkins使用宿主机Docker
2.2 使用系统包管理器安装
Ubuntu/Debian系统:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.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 update sudo apt install jenkinsCentOS/RHEL系统:
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启动Jenkins服务:
sudo systemctl enable jenkins sudo systemctl start jenkins2.3 使用WAR包安装
对于需要最大灵活性的高级用户,可以直接下载Jenkins的WAR包运行:
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war java -jar jenkins.war --httpPort=8080这种方式适合临时测试或需要自定义Servlet容器的情况。
3. 初始配置Jenkins
3.1 解锁Jenkins
安装完成后,访问http://<服务器IP>:8080,你会看到解锁页面。要获取初始管理员密码:
Docker安装:
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword系统包安装:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword将输出的密码粘贴到Web界面中,点击"Continue"。
3.2 安装推荐插件
在"Customize Jenkins"页面,选择"Install suggested plugins"安装推荐插件集。这包括:
- Git插件:用于从Git仓库拉取代码
- Pipeline:支持Jenkins Pipeline
- Blue Ocean:提供现代化的用户界面
- Credentials:管理各种凭证
- SSH Agent:通过SSH连接远程服务器
插件安装过程可能需要几分钟时间,取决于网络速度。
3.3 创建管理员账户
插件安装完成后,系统会提示创建第一个管理员用户。建议:
- 使用真实的邮箱地址
- 设置强密码(至少12位,包含大小写字母、数字和特殊字符)
- 记录好凭据,避免丢失
专业建议:即使只有一个人使用Jenkins,也不要使用默认的admin账户,而是创建具有管理员权限的命名账户,便于审计。
4. Jenkins基本配置
4.1 系统设置
进入"Manage Jenkins" > "Configure System":
- 系统消息:可以设置显示在所有页面的通知信息
- 执行者数量:根据服务器CPU核心数设置(通常为核心数的1-2倍)
- Jenkins URL:确保与实际的访问地址一致
- 邮件通知:配置SMTP服务器用于发送构建通知
4.2 全局工具配置
进入"Manage Jenkins" > "Global Tool Configuration":
JDK安装:
- 可以自动安装或指定现有JDK路径
- 建议至少配置一个Java 8环境
Git安装:
- 如果系统已安装Git,指定可执行文件路径
- 或选择自动安装
Maven安装:
- 配置Maven用于Java项目构建
- 建议安装3.6.x或更高版本
Docker安装:
- 如果需要在Pipeline中使用Docker,确保正确配置
4.3 安全设置
进入"Manage Jenkins" > "Configure Global Security":
- 安全域:默认使用Jenkins专有用户数据库
- 授权策略:
- 小型团队:建议"Matrix-based security"
- 企业环境:考虑与LDAP/AD集成
- CSRF保护:保持启用状态
- Agent协议:默认启用JNLP-4协议
5. 常见问题解决
5.1 无法访问Jenkins页面
可能原因:
- 防火墙未开放8080端口
- Jenkins服务未正常运行
- 代理或网络配置问题
解决方法:
# 检查服务状态 sudo systemctl status jenkins # 系统包安装 docker ps -a | grep jenkins # Docker安装 # 检查端口监听 sudo netstat -tulnp | grep 80805.2 插件安装失败
可能原因:
- 网络连接问题
- 镜像源不可用
- 磁盘空间不足
解决方法:
更换更新中心镜像:
- 进入"Manage Jenkins" > "Manage Plugins" > "Advanced"
- 将"Update Site" URL改为:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
手动安装插件:
- 从 https://plugins.jenkins.io/ 下载.hpi文件
- 在"Advanced"标签页上传安装
5.3 构建队列堵塞
可能原因:
- 执行者数量不足
- 长时间运行的构建占用资源
- 节点离线
解决方法:
- 增加执行者数量(系统设置中)
- 检查构建历史,优化长时间任务
- 添加更多构建节点(Manage Nodes)
6. 生产环境最佳实践
6.1 备份策略
定期备份Jenkins配置:
# 备份整个JENKINS_HOME目录 tar -czvf jenkins-backup-$(date +%Y%m%d).tar.gz /var/lib/jenkins # 使用thinBackup插件设置自动备份6.2 性能优化
JVM参数调整:
- 编辑
/etc/default/jenkins(Debian/Ubuntu) 或/etc/sysconfig/jenkins(RHEL/CentOS) - 修改
JAVA_OPTS,例如:JAVA_OPTS="-Xms1g -Xmx2g -XX:MaxPermSize=512m -Djava.awt.headless=true"
- 编辑
定期清理构建历史:
- 使用"Discard Old Build"插件自动清理旧构建
- 或设置作业的构建保留策略
6.3 高可用配置
对于关键业务环境,考虑以下高可用方案:
- 主从架构:设置多个构建节点分担负载
- 定期快照:对Jenkins服务器进行VM/容器快照
- 配置即代码:使用JCasC (Jenkins Configuration as Code) 插件管理配置
7. 插件推荐
以下是一些提高生产力的必备插件:
- Blue Ocean:现代化UI,可视化Pipeline
- Pipeline:支持声明式和脚本式Pipeline
- Git Parameter:添加Git分支参数
- Docker:集成Docker构建和部署
- Role-based Authorization:细粒度的权限控制
- Build Monitor View:构建状态监控视图
- Warnings Next Generation:静态代码分析结果可视化
安装方法:进入"Manage Jenkins" > "Manage Plugins" > "Available",搜索并安装所需插件。