jenkinsfile呼叫本地bat讀取本地檔案設定引數
阿新 • • 發佈:2020-10-29
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 *