1. 准备Debian系统环境
在集成Jenkins前,需确保Debian系统已完成基础配置(如系统更新),并安装Jenkins依赖的Java环境(Jenkins基于Java运行)。
sudo apt update && sudo apt upgrade -y,确保系统软件包为最新版本。sudo apt install openjdk-11-jdk -y安装。安装完成后,通过java -version验证Java是否安装成功(需显示Java版本信息)。2. 添加Jenkins官方APT仓库
为确保安装稳定版本的Jenkins,需添加Jenkins官方APT仓库:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -,将Jenkins官方GPG密钥添加到系统(用于验证软件包完整性)。echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list,将Jenkins仓库添加到APT源列表。sudo apt update,同步系统包列表以包含Jenkins仓库。3. 安装与启动Jenkins服务
sudo apt install jenkins -y(-y参数自动确认安装)。sudo systemctl start jenkins启动Jenkins服务,sudo systemctl enable jenkins设置开机自启动(确保系统重启后Jenkins自动运行)。sudo systemctl status jenkins验证Jenkins服务是否运行正常(显示“active (running)”即为成功)。4. 访问与初始化Jenkins管理界面
cat /var/lib/jenkins/secrets/initialAdminPassword获取密码,复制后在浏览器登录页面粘贴。5. 配置Jenkins基础环境
/usr/lib/jvm/java-11-openjdk-amd64,可通过update-alternatives --config java查看)。sudo ufw allow 8080开放Jenkins默认端口(8080),确保外部可通过浏览器访问。6. 创建自动化部署流水线(核心集成步骤)
通过Pipeline实现代码提交、构建、测试、部署的全自动化流程:
https://github.com/your-repo/my-debian-app.git)及凭据(若有私有仓库)。Jenkinsfile,需存放在Git仓库根目录)。pipeline {
agent any // 使用任意可用节点执行
tools {
jdk 'jdk11' // 引用前面配置的JDK
}
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'https://github.com/your-repo/my-debian-app.git' // 拉取代码
}
}
stage('Build') {
steps {
sh 'mvn clean package' // 使用Maven构建(假设项目为Java应用)
}
}
stage('Test') {
steps {
sh 'mvn test' // 运行单元测试
}
}
stage('Deploy to Debian Server') {
when {
branch 'main' // 仅main分支触发部署
}
steps {
sshagent(['your-ssh-credential-id']) { // 使用SSH凭据连接目标服务器
sh 'ssh user@your-debian-server "cd /opt/app && rm -rf * && tar -xzf my-app.tar.gz && ./start.sh"' // 部署到Debian服务器
}
}
}
}
post {
success {
mail to: 'team@example.com', subject: "Build Success: ${currentBuild.fullDisplayName}", body: "The build has completed successfully." // 发送成功通知
}
failure {
mail to: 'team@example.com', subject: "Build Failed: ${currentBuild.fullDisplayName}", body: "The build has failed." // 发送失败通知
}
}
}
(注:需替换your-repo、your-debian-server、user等占位符为实际值,并提前配置SSH密钥对以实现无密码登录)。7. 可选:优化Jenkins在Debian上的部署
docker pull jenkins/jenkins:lts拉取LTS版本镜像,运行docker run -u root -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts启动容器(-v参数挂载数据卷与Docker socket,实现数据持久化与Docker-in-Docker功能)。/var/lib/jenkins目录(包含Jenkins配置与任务数据),可使用tar -czvf jenkins-backup.tar.gz /var/lib/jenkins命令;通过“Manage Jenkins” > “Plugin Manager”安装“Monitoring”插件,实时监控Jenkins性能(如CPU、内存使用率)。