1. 程式人生 > 實用技巧 >jenkinsfile呼叫本地bat讀取本地檔案設定引數

jenkinsfile呼叫本地bat讀取本地檔案設定引數

jenkinsfile groovy呼叫本地bat讀取本地檔案設定引數

why

在jenkinsfile使用groovy語法. 去呼叫windows下的bat時候, 想要以本地檔案的內容為變數.
但是因為jenkins的限制, 並不能匯入groovy中對於本地檔案讀寫包, 則這個時候就要通過window自己的bat命令讀內容設定變量了.

每呼叫一次bat時, 新起一個臨時bat檔案,則set屬性後只能在本次呼叫中使用.
這樣的限制下, 要在呼叫中重複使用該屬性, 則應該用&或者&&來合併多行命令.(&順序執行,無論對錯. &&順序執行,遇錯即停)

how


// 1.設定變數延遲
// 2.獲取文字內值作為變數
// 3.輸出變數
// 4.切換到對應目錄
// 5.顯示目錄
// 6.打包目錄下所有檔案到根目錄(避免壓縮包內路徑過深)

bat "setlocal enabledelayedexpansion&&set /p version=<${artifact_id}/guide.txt&&echo !version!&&cd ./${artifact_id}/!version!&&dir&&WinRAR a ../../${artifact_id}.zip *"

對應的.bat

檔案內容應該是

setlocal enabledelayedexpansion
set artifact_id=%1
set /p version=<%artifact_id%/guide.txt
echo !version!
cd ./%artifact_id%/!version!
dir
WinRAR a ../../%artifact_id%.zip *