使用jenkins構建專案的時候需要寫shell指令碼
增量上傳jar包
shell指令碼的位置
shell指令碼的內容:
pwd
#cd到專案目錄
cd ad-activiti/
f=$forceupdate
echo
$fif
$f; then
echo
"強制更新"
rm-rf md5.old
fi#lib 目錄是需要重新上傳到伺服器的依賴jar包目錄if[
!-d "lib"
]; then
#沒有資料夾則建立
mkdir lib
else
#如果有資料夾則清空上次上傳的檔案
echo
"清空上次上傳的檔案"
rm-rf .
/lib/*
fifiles=$(ls.
/target/lib/ad-common*
.jar 2> /dev/null | wc -l)
;echo
"判斷是否存在ad-common檔案:$files"if[
"$files"
!= "0"
];then
#因為ad-common*每次重新生成,不管檔案內容是否更改md5值都不一樣,所以每次都重新上傳,故將ad-common先移動到lib包中等待上傳
echo
"移動ad-common相關jar進行上傳"mv.
/target/lib/ad-common*
.jar .
/lib
fi#如果是第一次構建if[
!-e "md5.old"
]; then
#計算所有非ad-common*的檔案md5的值放到md5.old中
echo
"首次上傳,計算md5值"
md5sum .
/target/lib/* > md5.old
#此次新增檔案的個數
insfilescount=`ls
./target/lib/*
.jar 2> /dev/null | wc -l`
echo
-e "`date +%y%m%d` 新增檔案共計 $insfilescount 個 ">>insfiles.log
if[$insfilescount
!=0 ]
;then
echo
-e "`date +%y%m%d` 新增檔名為:">>insfiles.log
ls-rlt .
/target/lib/*
.jar|awk -f "/"
''>>insfiles.log
fiecho
-e "\n \n">>insfiles.log
#將所有檔案都傳到lib包中準備上傳
echo
"移動所有檔案到待上傳資料夾下"mv.
/target/lib/*
.jar .
/lib
else
#非第一次構建if[
-e "md5.new"
]; then
#如果存在遺留的md5.new則進行刪除,後續會重新生成本次構建
echo
"存在遺留的md5.new,進行刪除,後續會重新生成本次構建"
rm-rf md5.new
fi#重新計算本次所有依賴測非ad-common*的jar包的md5值到md5.new中
echo
"計算本次所有依賴測非ad-common*的jar包的md5值到md5.new中"
md5sum .
/target/lib/* > md5.new
#每次執行刪除該執行檔案(每次要上傳的檔案不一樣)
rm-rf mvjar.sh
#迴圈比對新jar包中以前是否上傳過
while read -r line
doinsflagnum=`cat md5.old | grep "$line"
|wc -l`
#若沒有上傳過則將移除此jar包的命令寫到移除的執行檔案中if[
$insflagnum
-eq 0 ]
; then
#將移動jar包命令寫入到執行指令碼中
echo
"mv `echo "
$line
"|awk ''` ./lib">>mvjar.sh
#將新加入的jar包增量寫到 md5sum.old 檔案中
echo
"$line">>md5.old
fidone
#將新增的jar包移動到指定目錄下if[
-e "mvjar.sh"
]; then
#移動jar包目錄
sh mvjar.sh
#寫入日誌檔案本次新增的jar包
#此次新增檔案的個數
insfilescount=`cat mvjar.sh 2> /dev/null | wc -l`
echo
-e "`date +%y%m%d` 新增檔案共計 $insfilescount 個 ">>insfiles.log
echo
-e "`date +%y%m%d` 新增檔名為:">>insfiles.log
while read -r insline
doecho
"$insline"
|awk ''
|awk -f "/"
''>>insfiles.log
done
echo
-e "\n \n">>insfiles.log
echo
-e "新增已完成 \n 共計新增 $insfilescount 個檔案"
else
echo
"本次構建無新增lib"
fifiecho
"***************=="
csp專案的jenkins配置
以下是郵件中的內容格式 doctype html html head meta charset utf 8 title 第 次構建日誌 title head body leftmargin 8 marginwidth 0 topmargin 8 marginheight 4 ffset 0 tabl...
Jenkins專案遷移
cd var lib jenkins 複製相關檔案及目錄到新機器的 var lib jenkins目錄下即可達到遷移的效果。進入到主目錄下,可以看到很多檔案,是否需要全部打包呢?其實我們只需要打包4個檔案就可以了,如上圖所示分別是config.xml檔案,jobs資料夾,users資料夾和plugi...
jenkins新建專案
第1步 首頁,點選開始建立乙個新任務輸入乙個專案名稱,選擇構建乙個自由 風格的軟體專案,最後確定 第2步 專案描述自定義 限制專案的執行節點 輸入標籤,標籤為 的標籤 指定專案在哪個 機上執行 第三步 增加構建步驟 執行windows批處理命令 第四步 執行python指令碼時 報錯找不到指令碼中匯...