持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

一.新節點slave搭建
之前的主節點master:Centos7 190.168.3.250
新建的slave節點環境:Centos7 190.168.3.251

系統設置-節點管理
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
設置連接root賬號
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
保存
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
節點必須提前配置好java環境
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
啓動代理
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

slave節點啓動正常
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
注:
配置前要保證時間同步,要不時鐘差異會報錯顯示

slave /opt下生成工作目錄
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

二.測試新節點
構建之間這個hello任務
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

選擇限制項目的運行節點,選擇slave
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

構建任務是執行 hello併發送郵箱
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

立即構建
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

查看日誌在slave上執行了構建
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

在slave的工作目錄下的workspace裏已經有了構建的任務hello
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

三.創建流水任務Pipeline
1.創建前的準備
slave機子centos7系統 ,地址190.168.3.251
配置好java環境,maven,還有tomcat,deploy.sh腳本
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

配置好java和maven環境變量
export MAVEN_HOME=/opt/apache-maven-3.6.0
export JAVA_HOME=/opt/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH:$MAVEN_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

tomcat爲之前master複製過來的,所有端口設置的還是8090
deploy.sh腳本里複製編譯好的hello.war包位置變了,需要修改,變爲slave分工作目錄/opt/workspace下了,剩下的與之前一樣
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
#!/bin/bash

tomcat_home=/opt/tomcat
#1.檢測 tomcat 是否存在
tomcat=ps -ef |grep /opt/tomcat | grep -v 'grep\|tail'| awk '{print $2}'
echo ${tomcat}

if test -z ${tomcat}
then
echo "tomcat 沒有啓動"
else
echo "關閉 tomcat"
sh ${tomcat_home}/bin/shutdown.sh
sleep 2
fi

#2.備份原先/opt下的war包
mv ${tomcat_home}/webapps/hello.war /mnt/hello.war-$(date +%Y%m%d-%H:%M:%S)

#3.將jenkins workspace中打包好的包放到/opt下的tomcat
cp -r /opt/worksqace/workspace/pipline/target/hello.war ${tomcat_home}/webapps/hello.war

#4.啓動/opt下的 tomcat
sh ${tomcat_home}/bin/startup.sh

tomcat=ps -ef |grep /opt/tomcat | grep -v 'grep\|tail'| awk '{print $2}'
echo ${tomcat}
sleep 6

if test -z ${tomcat}
then
echo "tomcat 啓動失敗"
else
echo "部署成功"
fi

2.新建流水線任務
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

新建Pipeline script 腳本任務
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

pipeline {
agent {label 'slave'}
stages {
stage('Checkout') {
steps {
echo 'Checkout'
git credentialsId: '61406221-afad-495c-808f-d492fb45876b', url: 'https://github.com/anfishr/hello.git'
}
}
stage('Build') {
steps {
echo 'Building'
sh 'mvn clean package'
}
}
stage('deploy') {
steps {
echo 'deploy'
sh 'JENKINS_NODE_COOKIE=dontKillMe /opt/deploy.sh'
}
}
}
}

其中的git拉取代碼的寫法可以參照 Pipeline Syntax
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
選擇git
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
加上項目地址和賬號
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
點擊下面的生成
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
複製到git任務處即可,完成後保存
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

3.構建新建的pipeline任務
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
查看執行日誌輸出顯示沒有找到mvn
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

但是我們剛纔已經設置好java和maven的環境變量
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

檢查節點的環境變量
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

只能看見java的環境變量,沒有maven的環境變量
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

設置軟連接,將mvn加入到節點的環境變量下/usr/bin,好讓節點能找到mvn命令
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

再次執行構建,成功
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

瀏覽器查看
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

/mnt還有備份的代碼
持續集成工具jenkins slave節點配置和Pipeline任務構建(三)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章