创建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%
)
注意点:
- 当前路径处理
- 远程触发参数