Jenkins是一個開源軟件項目,目的就是提供了一個開放的軟件平臺,讓我們實現軟件集成變成可能,我們經常聽到企業中講CI、CD兩個名詞,這些都可以跟jenkins聯繫在一起,實現持續集成,持續部署及持續交付;
在企業中,Jenkins一般都是批量部署多臺web服務、或者應用程序、多個網站,今天帶大家來學習一下Jenkins批量構建同一網站-多臺服務器的操作案例:
一、Jenkins後臺配置
1)點擊工程名稱-配置-構建後操作-設置Jenkins編譯打包完後,war包存放的位置,如下圖:
2)然後輸入如下配置:**/target/*.war
3)如上-構建觸發器-一個構建步驟,選擇Add-post-build step-Excuteshell
4)然後把腳本內容寫入即可
5)代碼如下:
rm -rf /root/.jenkins/workspace/jfedu/target/edu.war cp/root/.jenkins/workspace/jfedu/target/edu.war /root/.jenkins/jobs/jfedu/builds/lastSuccessfulBuild/archive/target/ ssh [email protected] 'bash -x -s' < /data/sh/auto_deploy.sh
二、Jenkins部署腳本
#!/bin/bash
#Auto deployTomcat for jenkins perf
#by authorwugk 2016-07-06
exportJAVA_HOME=/usr/java/jdk1.6.0_25
TOMCAT_PID=`/usr/sbin/lsof-n -P -t -i :10013`
TOMCAT_DIR="/usr/local/tomcat/"
FILES="jfedu.war"
DES_DIR="/export/data/tomcatRoot/ptest.jd.com/"
DES_URL="http://123.57.11.203:8080/job/Ptest_Online/lastSuccessfulBuild/target"
BAK_DIR="/export/backup/`date+%Y%m%d-%H%M`"
[ -n"$TOMCAT_PID" ] && kill -9 $TOMCAT_PID
cd $DES_DIR
rm -rf $FILES
mkdir -p $BAK_DIR;\cp-a $DES_DIR/* $BAK_DIR/
rm -rf$DES_DIR/*
wget$DES_URL/$FILES
/usr/java/jdk1.6.0_25/bin/jar -xvf $FILES
####################
cd$TOMCAT_DIR;rm -rf work
/bin/sh$TOMCAT_DIR/bin/start.sh
sleep 10
tail -n 50 $TOMCAT_DIR/logs/catalina.out
提示:如果有多臺,怎麼去部署,可以發散思維喲!!!可以考慮結合底層saltstack、Ansible工具去實現。
你若覺得作者的文章寫得不錯,請獎勵作者幾錠銀子,讓作者感受到來自你滿滿的鼓勵和繼續創作的動力!我們支持原創!鼓勵原創!
打賞之後,文章底部顯示參與打賞者的記錄,可以直接通過微信掃描打賞喲,直接按打賞根據提示操作。
自定義打賞金額,友情提示打賞金額不要超過50元哦,土豪可以隨意哦,51CTO謝謝您對作者的支持!謝謝你的慷慨大方!