在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自動化部署。根據具體需求,你可以進一步定制和擴展自動化部署流程。