在CentOS上实现Jenkins自动化部署涉及多个步骤,包括安装必要的软件、配置Jenkins、设置持续集成流程等。以下是一个详细的指南:
Jenkins是基于Java开发的,因此首先需要安装Java运行时环境(JRE)。
sudo yum install java-1.8.0-openjdk-devel
java -version
添加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
安装Jenkins:
sudo yum install jenkins
启动Jenkins服务:
sudo systemctl start jenkins
设置Jenkins开机自启:
sudo systemctl enable jenkins
访问Jenkins:
通过浏览器访问 http://your_server_ip:8080
,输入初始密码(可以在 /var/lib/jenkins/secrets/initialAdminPassword
文件中找到)。
下载Jenkins WAR包:
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
启动Jenkins:
使用nohup命令启动Jenkins,使其在后台运行:
nohup java -jar jenkins.war --httpPort=8080 --httpsPort=8080 > jenkins.log 2>&1 &
查看启动日志:
使用tail命令查看启动日志,日志中会输出Jenkins密码:
tail -f jenkins.log
在Jenkins首页,选择“Manage Jenkins” -> “Manage Plugins”,安装推荐的插件,如“Generic Webhook Trigger”插件,以实现Jenkins与Webhooks的持续集成。
创建任务:
在Jenkins首页,点击“New Item”,选择“Freestyle project”。
配置Git仓库:
配置构建触发器:
选择“Generic webhook trigger”选项,将Jenkins与GitLab配合起来。
配置构建环境:
MAVEN_HOME
和PATH
。编写部署脚本:
创建一个shell脚本(如deploy.sh
),用于自动化部署过程,包括拉取代码、编译、打包和部署到Tomcat服务器等。
Jenkins Pipeline是一组插件,可以让Jenkins实现持续交付管道的落地和实施。通过Pipeline as Code(Jenkinsfile),可以以代码的形式定义整个部署流程。
创建Jenkinsfile:
在项目的源代码库中创建一个名为Jenkinsfile
的文件,定义部署流程,例如:
pipeline {
agent any
stages {
stage('Pull Code') {
steps {
git url: 'https://gitlab.com/your-repo.git', branch: 'main'
}
}
stage('Build') {
steps {
sh 'mvn clean package'
}
}
stage('Deploy') {
steps {
sh 'scp target/*.war tomcat@your-server:/path/to/tomcat/webapps'
ssh tomcat@your-server 'systemctl restart tomcat'
}
}
}
}
配置Pipeline任务:
在Jenkins中创建一个新的Pipeline任务,选择“Pipeline”,然后选择“Pipeline script from SCM”,配置Git仓库URL和Jenkinsfile路径。
通过以上步骤,你可以在CentOS上实现Jenkins自动化部署。根据具体需求,你可以进一步定制和扩展自动化部署流程。