在开始配置Jenkins前,需确保CentOS系统满足基础依赖要求:
sudo yum update -y
同步系统包。sudo yum install -y java-1.8.0-openjdk-devel
(或java-11-openjdk-devel
),并通过java -version
验证安装。wget
用于下载文件,执行sudo yum install -y wget
。sudo 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 jenkins -y
。sudo systemctl start jenkins
和sudo systemctl enable jenkins
。http://<服务器IP>:8080
,首次访问需输入初始管理员密码(位于/var/lib/jenkins/secrets/initialAdminPassword
文件中,可通过cat
命令查看)。JAVA_HOME
)、Maven(MAVEN_HOME
)、Git(PATH
)等工具的路径,确保Jenkins能自动识别这些工具。自动化触发是Jenkins实现“持续集成/持续部署(CI/CD)”的核心,常见方式如下:
http://<服务器IP>:8080/github-webhook/
),当代码推送时,Webhook会自动通知Jenkins触发构建。H 1 * * *
(H
表示随机分钟,避免多任务同时执行)。BUILD_TYPE=Release
),在Pipeline脚本中使用${params.BUILD_TYPE}
动态调整构建行为。Pipeline是Jenkins推荐的自动化流程定义方式,支持声明式(Declarative)或脚本式(Scripted)语法,以下以声明式Pipeline为例:
https://github.com/your-repo/project.git
)和分支(如*/main
),并指定Jenkinsfile
的位置(默认在仓库根目录)。pipeline {
agent any // 使用任意可用节点执行
stages {
stage('Checkout') { // 拉取代码
steps {
git branch: '*/main', url: 'https://github.com/your-repo/project.git'
}
}
stage('Build') { // 编译打包(以Maven为例)
steps {
sh 'mvn clean package'
}
}
stage('Test') { // 运行测试(需提前配置JUnit插件)
steps {
sh 'mvn test'
}
post {
always {
junit '**/target/surefire-reports/*.xml' // 发布测试报告
}
}
}
stage('Deploy') { // 部署到测试服务器(以SCP为例)
steps {
sh 'scp target/*.jar user@test-server:/opt/app/'
sh 'ssh user@test-server "systemctl restart app-service"' // 重启服务
}
}
}
post {
success {
emailext body: 'Build succeeded!', subject: 'Jenkins Build Success', to: 'dev-team@example.com' // 发送成功通知
}
failure {
emailext body: 'Build failed!', subject: 'Jenkins Build Failure', to: 'dev-team@example.com' // 发送失败通知
}
}
}
parallel
指令)提升构建速度。通过以上步骤,即可在CentOS上完成Jenkins的自动化配置,实现代码提交→自动构建→测试→部署的全流程自动化,提升开发效率和软件质量。