1. 准备工作
在Linux系统上部署Jenkins前,需完成以下基础准备:
- 管理员权限:确保拥有Linux服务器的root或sudo权限;
- Java环境:Jenkins依赖Java运行,需安装JDK 8或11(推荐OpenJDK),通过
java -version
验证安装(如未安装,可使用sudo apt install openjdk-11-jdk
或sudo yum install java-11-openjdk-devel
);
- 系统资源:建议分配至少2GB内存、10GB磁盘空间,避免因资源不足导致构建失败。
2. 安装Jenkins
Linux系统下安装Jenkins主要有两种方式,可根据需求选择:
2.1 通过包管理器安装(以Ubuntu/Debian为例)
- 添加Jenkins官方仓库:导入GPG密钥并添加软件源,确保软件来源可信。
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'
- 安装Jenkins:更新软件包索引并安装Jenkins。
sudo apt update
sudo apt install jenkins
- 启动服务:启动Jenkins并设置开机自启。
sudo systemctl start jenkins
sudo systemctl enable jenkins
- 验证状态:通过
sudo systemctl status jenkins
确认服务运行正常(显示“active (running)”)。
2.2 使用Docker安装(推荐容器化部署)
- 安装Docker:若未安装Docker,可通过
sudo apt install docker.io
(Ubuntu)或sudo yum install docker
(CentOS)安装,并启动Docker服务。
- 拉取Jenkins镜像:拉取官方LTS版本镜像(稳定且安全)。
docker pull jenkins/jenkins:lts
- 运行容器:映射Web端口(8080)和代理端口(50000),并持久化数据到主机(避免数据丢失)。
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
- 获取初始密码:通过容器ID获取管理员初始密码(用于首次登录)。
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
3. 初始配置Jenkins
- 访问Web界面:浏览器输入
http://<服务器IP>:8080
,输入初始密码完成解锁。
- 安装推荐插件:选择“Install suggested plugins”快速安装常用插件(如Git、Maven、Pipeline、Blue Ocean等),覆盖代码托管、构建、可视化等场景。
- 创建管理员账户:设置用户名、密码和邮箱,完成管理员账号创建(替代默认的admin账号,提升安全性)。
4. 配置全局工具(关键依赖)
为了让Jenkins识别并使用代码托管、构建工具,需在“Manage Jenkins”→“Global Tool Configuration”中配置:
- Git:填写Git安装路径(若通过包管理器安装,路径通常为
/usr/bin/git
);
- JDK:选择已安装的JDK版本(或点击“Add JDK”指定路径);
- Maven:选择已安装的Maven版本(或点击“Add Maven”指定路径)。
5. 创建持续集成Job
- 新建Job:点击Jenkins首页“New Item”,输入Job名称(如“my-app-ci”),选择“Freestyle project”(简单任务)或“Pipeline”(声明式流水线,推荐复杂项目),点击“OK”。
- 配置源码管理:选择“Git”,填写代码仓库URL(如
https://github.com/your-repo/my-app.git
),添加Credentials(SSH密钥或账号密码,推荐SSH免密);指定分支(如main
或*/develop
)。
- 配置构建触发器:选择自动触发方式,常见选项:
- Poll SCM:定时检查代码变更(如
H/5 * * * *
表示每5分钟检查一次);
- GitHub hook trigger for GITScm polling:通过GitHub Webhook触发(代码推送时自动构建,需配置Webhook URL)。
- 配置构建步骤:添加构建命令,如使用Maven构建Java项目:
mvn clean package
或使用Gradle:./gradlew build
- 配置构建后操作:可选步骤,如:
- Archive Artifacts:归档构建产物(如
target/*.jar
);
- Send build notifications:发送邮件或钉钉通知(需安装对应插件);
- Deploy to Tomcat:部署到Tomcat服务器(需配置Tomcat Manager)。
6. 触发构建与监控
- 手动触发:保存Job配置后,点击“Build Now”手动启动构建,可在“Build History”中查看构建状态(蓝色表示成功,红色表示失败)。
- 自动触发:若配置了Poll SCM或Webhook,代码提交后会自动触发构建,无需手动干预。
- 查看日志:点击构建编号进入详情页,查看实时构建日志(用于调试构建失败问题)。
7. 进阶优化(可选)
- 配置分布式构建:若单台服务器资源不足,可通过“Manage Jenkins”→“Manage Nodes and Clouds”添加代理节点(Agent),将构建任务分发到多台机器,提升构建效率。
- 设置备份:安装“ThinBackup”插件,配置定期自动备份(如每天凌晨2点),防止数据丢失。
- 优化性能:调整Jenkins内存配置(修改
/etc/default/jenkins
中的JAVA_ARGS
,如-Xmx2048m
表示分配2GB内存),避免因内存不足导致构建缓慢。