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

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

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

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

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

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

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

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

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

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

查看日誌在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任務構建(三)

相關文章
相關標籤/搜索