1. 系统准备与Java环境安装
Jenkins是基于Java的应用程序,需先安装Java运行环境(推荐OpenJDK 11及以上版本)。在Debian终端执行以下命令:
sudo apt update && sudo apt upgrade -y # 更新系统包 sudo apt install openjdk-11-jdk -y # 安装OpenJDK 11 java -version # 验证Java安装(显示版本信息即成功)
此步骤确保Jenkins具备运行基础环境。
2. 添加Jenkins官方APT仓库
为获取稳定的Jenkins版本,需添加官方APT源。依次执行:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - # 导入GPG密钥(验证身份) echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list # 添加仓库地址 sudo apt update # 更新包索引以包含Jenkins仓库
这一步使系统能从官方源获取Jenkins安装包。
3. 安装Jenkins服务
通过APT包管理器安装Jenkins:
sudo apt install jenkins -y # 自动解决依赖并安装
安装完成后,Jenkins会自动部署至/var/lib/jenkins
目录。
4. 启动Jenkins服务并设置开机自启
启动Jenkins服务并配置为开机自动启动:
sudo systemctl start jenkins # 启动Jenkins服务 sudo systemctl enable jenkins # 设置开机自启 sudo systemctl status jenkins # 检查服务状态(显示“active (running)”即正常)
通过systemctl
命令确保Jenkins持续运行。
5. 解锁Jenkins并完成初始配置
首次访问Jenkins需输入初始管理员密码,步骤如下:
http://<服务器IP>:8080
(默认端口8080);sudo cat /var/lib/jenkins/secrets/initialAdminPassword # 查看初始密码
6. 安装必要插件
解锁后,进入“Manage Jenkins” > “Manage Plugins”,选择“Install suggested plugins”(安装推荐插件,包含Git、Pipeline等常用工具),或手动搜索安装所需插件(如Docker、GitHub Integration)。
7. 配置全局工具与环境
进入“Manage Jenkins” > “Global Tool Configuration”,配置JDK、Git、Maven等工具的路径(若未自动识别,需手动指定安装路径)。例如:
JAVA_HOME
为/usr/lib/jvm/java-11-openjdk-amd64
;/usr/bin/git
)。8. 创建管理员用户
为保障安全性,需创建专用管理员账户:
9. 配置自动化流水线(可选但推荐)
为实现持续集成/交付,可创建Pipeline任务:
示例Jenkinsfile(声明式):
pipeline { agent any // 使用任意可用节点 stages { stage('Checkout') { steps { git branch: 'main', url: 'git@github.com:your-repo/your-app.git' // 拉取代码 } } stage('Build') { steps { sh 'mvn clean package' // Maven构建(若为Java项目) } } stage('Test') { steps { sh 'mvn test' // 运行单元测试 } } stage('Deploy') { when { branch 'main' // 仅main分支触发部署 } steps { sh './deploy.sh' // 自定义部署脚本 } } } post { always { echo 'Build completed!' // 构建完成后输出日志 } } }
此Pipeline实现了“拉取代码→构建→测试→部署”的自动化流程。
10. 防火墙配置(可选)
若系统启用了UFW防火墙,需允许Jenkins端口(默认8080)的访问:
sudo ufw allow 8080/tcp # 允许TCP协议的8080端口 sudo ufw reload # 重新加载防火墙规则
确保外部设备能访问Jenkins管理界面。