1. 环境准备:安装基础依赖 在CentOS上实现Jenkins自动化部署前,需先安装Java(Jenkins依赖)、Git(拉取代码)、Docker(可选,简化部署)等工具。
sudo yum install -y java-1.8.0-openjdk-devel
java -version # 验证安装(需显示1.8.0版本)
sudo yum install -y git
git --version # 验证安装
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker && sudo systemctl enable docker
2. 安装Jenkins 推荐通过YUM仓库安装(稳定且易管理):
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 -y jenkins
sudo systemctl start jenkins && sudo systemctl enable jenkins # 开机自启
3. 配置Jenkins 首次访问需解锁并安装必要插件:
http://<服务器IP>:8080,输入初始密码(位于/var/lib/jenkins/secrets/initialAdminPassword)。/usr/lib/jvm/java-1.8.0-openjdk);/usr/bin/git)。4. 创建Jenkins任务 选择“New Item”→输入任务名称→选择“Pipeline”(推荐,代码化定义流程)→点击“OK”。
https://github.com/your-repo/your-project.git)和分支(如main)。my-token),后续用于Git Webhook配置。pipeline {
agent any
stages {
stage('Checkout') {
steps {
git url: 'https://github.com/your-repo/your-project.git', branch: 'main'
}
}
stage('Build') {
steps {
sh 'mvn clean package' // 若为Java项目,用Maven构建
}
}
stage('Deploy') {
steps {
sh 'scp target/*.war tomcat@your-server:/opt/tomcat/webapps/' // 复制war包到Tomcat
ssh tomcat@your-server 'systemctl restart tomcat' // 重启Tomcat
}
}
}
}
5. 配置Git Webhook 实现代码推送自动触发Jenkins构建:
my-token),拼接URL:http://<Jenkins服务器IP>:8080/generic-webhook-trigger/invoke?token=my-tokenapplication/json;6. 测试自动化部署
main分支推送代码,等待Jenkins自动开始构建(可通过“Build History”查看进度)。7. 可选优化:使用Docker简化部署 若应用需容器化部署,可在Pipeline中添加Docker步骤(示例):
stage('Build Docker Image') {
steps {
sh 'docker build -t your-app:${BUILD_NUMBER} .' // 构建镜像(需项目中有Dockerfile)
}
}
stage('Push Docker Image') {
steps {
sh 'docker tag your-app:${BUILD_NUMBER} your-dockerhub-id/your-app:latest'
sh 'docker push your-dockerhub-id/your-app:latest' // 推送镜像到仓库
}
}
stage('Deploy to Server') {
steps {
sh 'ssh your-server "docker pull your-dockerhub-id/your-app:latest && docker stop your-app || true && docker rm your-app || true && docker run -d -p 8080:8080 --name your-app your-dockerhub-id/your-app:latest"' // 拉取并运行镜像
}
}
通过以上步骤,即可在CentOS上实现Jenkins自动化部署,覆盖代码拉取、构建、测试、部署的全流程,提升开发与运维效率。