在 CentOS 上配置 Jenkins 持续集成流程
一 环境准备与安装
sudo yum install -y java-17-openjdkjava -versionsudo 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 -y jenkinssudo systemctl start jenkinssudo systemctl enable jenkinssudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reloadhttp://<服务器IP>:8080sudo cat /var/lib/jenkins/secrets/initialAdminPassword二 基础配置与常用插件
sudo yum install -y git)https://mirror.xmission.com/jenkins/updates/update-center.json),保存后重启 Jenkins。三 创建 CI 流水线
*/main)H/5 * * * * 每 5 分钟检查一次)或与 Git 平台配置 Webhook 实现提交即触发mvn clean package 或 mvn clean install**/target/*.jar)、发布到 SSH、发送通知等pipeline {
agent any
tools {
maven 'Maven 3.x' // 与全局工具配置中的名称一致
jdk 'JDK 17' // 与全局工具配置中的名称一致
}
stages {
stage('Checkout') {
steps { git branch: 'main', url: 'https://github.com/your-org/your-repo.git' }
}
stage('Build') {
steps { sh 'mvn -B -DskipTests clean package' }
}
stage('Test') {
steps { sh 'mvn test' }
post {
always { junit '**/target/surefire-reports/*.xml' } // 收集测试报告
}
}
stage('Archive') {
steps { archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true }
}
}
}
四 部署与通知
**/target/*.jartarget/opt/appcd /opt/app
nohup java -jar your-app.jar > app.log 2>&1 &
smtp.qq.com,端口 465,开启 SSL,使用授权码作为密码)五 常见问题与排障
Address already in use)
sudo ss -tulnp | grep 8080sudo kill -9 <PID>Environment="JENKINS_PORT=8087",然后 sudo systemctl daemon-reload && sudo systemctl restart jenkinsTimeoutStartSec=0,再重启服务sudo usermod -aG docker jenkinssudo systemctl restart jenkinssudo -u jenkins bash -lc 'docker ps'