Jenkins流水線項目發布流程
CI/CD代碼發布流程
- 開發者開發代碼
- 提交至git倉庫
- jenkins從倉庫拉取代碼
- jenkins通過maven(ant,gradle等)構建項目推到docker倉庫
- 生成一個在tomcat運行的項目的docker容器
- 測試人員測試
流水線項目創建
本次環境為:
主機名 | IP地址 | 安裝的應用 | 系統版本 |
---|---|---|---|
jenkins | 192.168.100.1 | tomcat jenkins | RedHat 8 |
client | 192.168.100.2 | tomcat | RedHat 8 |
tomcat、jenkins安裝配置詳細請見:Jenkins配置
准備工作:
#jenkins
//關閉防火牆
[root@jenkins ~]# systemctl disable --now firewalld
[root@jenkins ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
[root@jenkins ~]# setenforce 0
//安裝jdk環境
[root@jenkins ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
//安裝git和maven
[root@jenkins ~]# yum -y install git maven
//安裝tomcat
[root@jenkins ~]# cd /usr/src/
[root@jenkins src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz
[root@jenkins src]# ls
apache-tomcat-9.0.46.tar.gz debug kernels
[root@jenkins src]# tar xf apache-tomcat-9.0.46.tar.gz -C /usr/local/
[root@jenkins src]# cd /usr/local/
[root@jenkins local]# ln -s apache-tomcat-9.0.46/ tomcat
//部署jenkins
[root@jenkins ~]# cd /usr/src/
[root@jenkins src]# wget http://mirrors.jenkins-ci.org/war/2.293/jenkins.war
[root@jenkins src]# cp jenkins.war /usr/local/tomcat/webapps
[root@jenkins src]# /usr/local/tomcat/bin/catalina.sh start
[root@jenkins src]# ls /usr/local/tomcat/webapps/
docs examples host-manager jenkins jenkins.war manager ROOT
//SSH免密登錄
[root@jenkins ~]# ssh-keygen -t rsa
[root@jenkins ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.2
#client
//關閉防火牆
[root@client ~]# systemctl disable --now firewalld
[root@client ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
[root@client ~]# setenforce 0
//安裝jdk環境
[root@client ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
//安裝tomcat
[root@client ~]# cd /usr/src
[root@client src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz
[root@client src]# tar xf apache-tomcat-9.0.46.tar.gz -C /usr/local/
[root@client src]# cd /usr/local/
[root@client local]# ln -s apache-tomcat-9.0.46/ tomcat
管理Jenkins
登錄192.168.100.1:8080/jenkins
安裝Pipeline、Git插件
創建流水線項目
定義變量
勾選 參數化構建過程 —— 添加參數
配置流水線
流水線腳本詳情如下
pipeline {
agent any
stages {
stage('pull code') {
steps {
git '${Git_repo}'
}
}
stage('package') {
steps {
sh """
mvn clean
mvn package
"""
}
}
stage('deploy') {
steps {
sh """
scp target/${Project_name}.war root@${Client}:${Tomcat_dir}/webapps/
ssh root@${Client} '${Tomcat_dir}/bin/shutdown.sh && ${Tomcat_dir}/bin/startup.sh'
"""
}
}
}
}
立即構建
本次構建變量參數如下
構建成功
構建成功后驗證
#client
//查看tomcat是否啟動
[root@client ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 100 *:8080 *:*
LISTEN 0 128 [::]:22 [::]:*
//查看項目名稱
[root@client ~]# ls /usr/local/tomcat/webapps/
docs ly-simple-tomcat-0.0.1-SNAPSHOT ROOT
examples ly-simple-tomcat-0.0.1-SNAPSHOT.war
host-manager manager
訪問 http://192.168.100.2:8080/ly-simple-tomcat-0.0.1-SNAPSHOT/