Jenkins專案配置shell指令碼

2021-10-12 07:27:17 字數 3142 閱讀 5274

使用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指令碼時 報錯找不到指令碼中匯...