創建Jenkins 打多平臺集合包
要求
- windows/linux 平臺分別在兩臺jenkins機器上打包之
- 放到同一個目錄壓縮並且發佈
- 支持輸入commit 打指定commit版本包
實現
- windows 打完之後同步到linux 指定目錄下
- linux 打完之後進行組合
- windows 設置遠程觸發打包,支持參數
- linux 添加打包參數,commit_id
關鍵代碼
linux 判斷是否有commit 輸入:
if [ -n "$commit_id" ];then
commitexsit=$(git log | grep $commit_id)
if [ -z "$commitexsit" ]; then
echo "commit is not exsit" 1>&2
exit 1
fi
{
git branch -D $commit_id
git checkout $commit_id -b $commit_id
GIT_COMMIT=$commit_id
}||{
git checkout $commit_id -b $commit_id
GIT_COMMIT=$commit_id
}
fi
curl -X POST "http://user_name:passwd**@10.*.*.*:*/view/**/job/**/buildWithParameters?token=Win_Dwfiletrans_1_0&commit_id=${commit_id}"
windows 判斷是否需要打commit:
rem dwfiletrans 接收遠程參數
echo %commit_id%
if not "%commit_id%"=="" (
"C:\\Program Files\\Git\\bin\\git.exe" branch -D %commit_id%
"C:\\Program Files\\Git\\bin\\git.exe" checkout %commit_id% -b %commit_id%
set GIT_COMMIT=%commit_id%
)
注意點:
- 當前路徑處理
- 遠程觸發參數