如果你想控制建立遠程然後使用傑金斯CLI - 我發現它非常有用http://jenkinshost:8080/cli
你需要得到SSH密鑰配置權,添加用戶的運行CLI公鑰用戶要使用詹金斯用戶配置(不是在命令行上
測試鍵設置與
java -jar jenkins=cli.jar -s http://jenkinshost:8080 who-am-i
那麼這應當報告哪些用戶將被用來在運行構建運行在詹金斯的工作詹金斯
但我認爲你可以使用條件生成步驟插件您的問題
https://wiki.jenkins-ci.org/display/JENKINS/Conditional+BuildStep+Plugin
這將允許你把條件包裹一個生成步驟即
if branch==branchA then
trigger step - deploy to clusterA
if branch==branchB then
trigger step - deploy to clusterB
我個人認爲這個插件有點笨重,它使第j OB配置頁面有些凌亂
另一種解決方案,我想出了是隨時撥打孩子作業,然後讓它決定是否運行。
所以我必須在孩子作業開始的腳本一步,看它是否應該運行
if [${branch}="Not the right branch name" ] ; then
echo "EXIT_GREEN"
exit 1
fi
現在,您已經失敗了這份工作,這將導致父作業去紅色,但使用的Groovy Postbuild插件https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Postbuild+Plugin您可以添加後生成步驟是這樣
if (manager.logContains(".*EXIT_GREEN.*")) {
manager.addBadge("info.gif","This job had nothing to do")
[email protected] = hudson.model.Result.SUCCESS
}
兒童作業運行的綠色(與反對建立一個信息圖標),但實際上沒有做任何事情。顯然,如果分支是您想要部署的分支,那麼第一個腳本步驟不會運行exit 1
並且作業繼續正常運行