一.新節點slave搭建
以前的主節點master:Centos7 190.168.3.250
新建的slave節點環境:Centos7 190.168.3.251
java
系統設置-節點管理
git
設置鏈接root帳號
保存
節點必須提早配置好java環境
啓動代理
github
slave節點啓動正常
注:
配置前要保證時間同步,要不時鐘差別會報錯顯示
web
slave /opt下生成工做目錄
apache
二.測試新節點
構建之間這個hello任務
centos
選擇限制項目的運行節點,選擇slave
瀏覽器
構建任務是執行 hello併發送郵箱
tomcat
當即構建
bash
查看日誌在slave上執行了構建
併發
在slave的工做目錄下的workspace裏已經有了構建的任務hello
三.建立流水任務Pipeline
1.建立前的準備
slave機子centos7系統 ,地址190.168.3.251
配置好java環境,maven,還有tomcat,deploy.sh腳本
配置好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
tomcat爲以前master複製過來的,全部端口設置的仍是8090
deploy.sh腳本里複製編譯好的hello.war包位置變了,須要修改,變爲slave分工做目錄/opt/workspace下了,剩下的與以前同樣
#!/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.新建流水線任務
新建Pipeline script 腳本任務
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
選擇git
加上項目地址和帳號
點擊下面的生成
複製到git任務處便可,完成後保存
3.構建新建的pipeline任務
查看執行日誌輸出顯示沒有找到mvn
可是咱們剛纔已經設置好java和maven的環境變量
檢查節點的環境變量
只能看見java的環境變量,沒有maven的環境變量
設置軟鏈接,將mvn加入到節點的環境變量下/usr/bin,好讓節點能找到mvn命令
再次執行構建,成功
瀏覽器查看
/mnt還有備份的代碼