1. 安装Java环境(Jenkins前置依赖)
Jenkins是基于Java的应用程序,需先安装Java运行时环境(JRE)或开发工具包(JDK)。推荐使用OpenJDK 11及以上版本,命令如下:
sudo apt update
sudo apt install openjdk-11-jdk -y
# 验证Java安装
java -version
确保输出显示Java版本信息,如openjdk version "11.0.xx"。
2. 添加Jenkins官方仓库
为确保安装最新稳定版Jenkins,需添加其官方APT仓库:
# 导入Jenkins GPG密钥(用于验证软件包完整性)
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
# 添加Jenkins仓库源(Debian稳定版)
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# 更新APT包列表
sudo apt update
此步骤将Jenkins仓库纳入系统源,便于后续安装。
3. 安装Jenkins并启动服务
通过APT包管理器安装Jenkins,安装过程会自动解决依赖:
sudo apt install jenkins -y
安装完成后,启动Jenkins服务并设置为开机自启:
sudo systemctl start jenkins
sudo systemctl enable jenkins
使用systemctl status jenkins可检查服务运行状态(显示active (running)即为正常)。
4. 解锁Jenkins并完成初始配置
首次访问Jenkins需解锁,解锁密码存储在以下文件中:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
复制密码,在浏览器中访问http://<your_server_ip>:8080(默认端口8080),粘贴密码完成解锁。
解锁后,Jenkins会引导安装推荐插件(如Git、Pipeline、Maven等),建议勾选“Install suggested plugins”以快速搭建基础环境。
5. 创建管理员账户
插件安装完成后,需创建管理员账户(用于登录和管理Jenkins):
admin/your_password);6. 配置Jenkins基础设置
Manage Jenkins > Global Tool Configuration,设置Java、Maven、Git等工具的路径(若已加入系统PATH可跳过);sudo ufw allow 8080
验证端口开放:sudo ufw status(显示8080/tcp ALLOW)。7. 创建Jenkins Job(以Freestyle Project为例)
New Item,输入任务名称(如my-app-ci),选择Freestyle project,点击OK;Git,填写代码仓库URL(如https://github.com/yourusername/your-project.git),若有私有仓库需配置Credentials(如SSH密钥或账号密码);Poll SCM(定时轮询SCM,如H/5 * * * *表示每5分钟检查一次)、GitHub hook trigger for GITScm polling(GitHub Webhook触发));Add build step,选择对应工具(如Invoke top-level Maven targets),填写Maven命令(如clean install);Add post-build action,可选择Archive the artifacts(归档构建产物,如target/*.jar)、Send build notifications(发送邮件/Slack通知)。8. 使用Jenkins Pipeline实现自动化(推荐)
Pipeline是Jenkins的声明式自动化脚本,可通过Jenkinsfile定义整个CI/CD流程(构建、测试、部署)。
Jenkinsfile(示例如下):pipeline {
agent any // 使用任意可用节点
stages {
stage('Checkout') {
steps {
git 'https://github.com/yourusername/your-project.git' // 拉取代码
}
}
stage('Build') {
steps {
sh 'mvn clean install' // Maven编译打包
}
}
stage('Test') {
steps {
sh 'mvn test' // 运行单元测试
}
}
stage('Deploy') {
when {
branch 'master' // 仅master分支触发部署
}
steps {
sshagent(['your-ssh-credentials']) { // 使用SSH凭证
sh 'scp target/*.jar user@yourserver:/path/to/deploy' // 传输文件到测试服务器
sh 'ssh user@yourserver "bash /path/to/deploy/script.sh"' // 执行部署脚本
}
}
}
}
}
New Item > 输入名称(如my-app-pipeline) > 选择Pipeline > 点击OK;Pipeline script from SCM,SCM选择Git,填写仓库URL,Script Path填写Jenkinsfile(即Jenkinsfile在仓库中的路径);Save,手动触发或等待Webhook触发,查看构建日志。9. 监控与维护
Dashboard,点击任务名称即可查看构建历史、日志;Manage Jenkins > System Information查看Jenkins运行状态;/var/lib/jenkins目录(包含所有配置、构建产物);Manage Jenkins > Manage Plugins > Available更新插件,或通过APT更新Jenkins本身。