您好,登錄后才能下訂單哦!
由于每次構(gòu)建的時候指定的SVN路徑都不同,如果不使用參數(shù)化構(gòu)建則每次都需要修改配置中的SVN路徑,不但不安全也容易出現(xiàn)錯誤。
將SVN地址設(shè)置為字符串參數(shù)(string parameter),當(dāng)開始構(gòu)建的時候?qū)崾居脩糨斎雲(yún)?shù)值(即:SVN地址)
在SVN中引用參數(shù)
另外,如果需要自動拉取SVN的tag或git的branch可以使用"List Subversion tags(and more)"和"Git Parameter Plug-In"這兩個插件,將會自動在所填的SVN/git地址下列出子目錄,有興趣的朋友可以自己研究一下。
當(dāng)執(zhí)行構(gòu)建時,將會彈出頁面等待用戶輸入?yún)?shù)值完成構(gòu)建
由于之前未對tomcat的狀態(tài)檢測做參數(shù)化構(gòu)建,故每個模塊都需要一個對應(yīng)的job用于檢測,最終將會導(dǎo)致所創(chuàng)建的job數(shù)量太大,不但增加了工作量,而且也容易出錯。
以下將通過參數(shù)化構(gòu)建將其合并為一個Tomcat_check的job。
合并前:
合并后:
勾選配置參數(shù)化構(gòu)建過程(選擇"Chice"并定義參數(shù)名為Module,Choices的值根據(jù)自己的情況填寫需要的選項)
構(gòu)建過程(執(zhí)行check.sh腳本并引用參數(shù)Module
)
觸發(fā)郵件步驟略(將會在郵件插件中詳細(xì)介紹)
以下附上檢測tomcat的腳本(僅供參考)
定義check函數(shù)用于檢測tomcat是否啟動正常functions
#定義失敗后重試次數(shù) ATTEMPTS=12 FAILED=0 #定義將會輸出版本號的日志(可用于發(fā)送郵件) file=$JENKINS_HOME/jobs/$JOB_NAME/builds/$BUILD_NUMBER/check #jenkins構(gòu)建時生成的日志,用于追加日志輸出到j(luò)enkins控制臺 log=$JENKINS_HOME/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log check(){ echo \<h4\> `date` >> $file #當(dāng)調(diào)用check函數(shù)帶參數(shù)時才執(zhí)行 while [ $# != 0 ] do IP=`echo $1 | awk -F "/" '{print $3}' |awk -F ':' '{print $1}'` ver=`curl -skf -m 1 $1 |grep -i "v" |head -1|dos2unix` curl -skf -m 1 $1 > /dev/null #當(dāng)curl檢測URL返回正常時往$file記錄IP和版本號并往jenkins控制臺輸出"$1 is OK"(shift用于向左移動一位參數(shù)) if [ $? -eq 0 ];then echo \<br\> \<a href=$1\>$IP\<\/a\> ++ $ver >> $file echo $1 is OK! >> $log FAILED=0 shift continue else #當(dāng)curl檢測URL返回異常則等待10秒后重試 FAILED=$(($FAILED + 1)) TIMES=$(($ATTEMPTS - $FAILED + 1)) echo "Waiting for check the web-$1, retrying in 10 seconds for $TIMES times..." >> $log sleep 10 if [ $ATTEMPTS -gt $FAILED ];then continue else echo "Failed to check the web-$1" >> $log fi #若重試指定次數(shù)后仍然失敗則將版本號記錄為ERROR,且字體設(shè)為紅色 echo \<br\> \<a href=$1\>$IP\<\/a\> ++ \<font color='Red'\>Error\<\/font\> >> $file FAILED=0 shift continue fi done }
通過腳本調(diào)用上面定義的check函數(shù)check.sh
#引入?yún)?shù)用于指定需要檢測的模塊(即參數(shù)化構(gòu)建中的Module) Module=$1 #引用functions中的check函數(shù) . /data/ztjy/functions args=`cat /data/ztjy/$Module/url` check $args #提取新版本號(相對其他版本而已) Maxver=`awk -F "+" '{print $3}' $file | grep -i v | sort |tail -1` #提取舊版本號 Minver=`awk -F "+" '{print $3}' $file | grep -i v | sort |head -1` #如果是新版本號則改版本號字體顯示為橙色 sed -i "s/$Maxver/ <font color='Orange'>$Maxver<\/font>/g" $file #如果是舊版本號則改版本號字體顯示為綠色 sed -i "s/$Minver/ <font color='SeaGreen'>$Minver<\/font>/g" $file
執(zhí)行參數(shù)化構(gòu)建
由上面可見檢測后將自動觸發(fā)郵件通知,郵件內(nèi)容如下:
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。