我試圖執行一個shell腳本,如果構建通過或失敗後在詹金斯後生成。在後期構建中我看不到這個選項來執行一些shell腳本,除了運行一個目標。在詹金斯發佈後執行Shell腳本
58
A
回答
48
用Post build task插件很容易做到。
0
您必須將構建後的shell腳本設置爲單獨的Jenkins作業,並將其作爲構建後步驟觸發。看起來您需要使用Parameterized Trigger Plugin作爲標準的「構建其他項目」選項,只有在您的觸發構建成功時纔有效。
3
如果我正在閱讀您的問題,您希望在構建的後構建操作部分中運行腳本。
我自己使用PostBuildScript Plugin運行git clean -fxd
構建已存檔的工件和發佈的測試結果後。我的詹金斯奴隸有SSD磁盤,所以我沒有空間將生成的文件保存在工作區中。
2
9
你也可以使用Groovy Post Build運行任意命令 - 這將給你很多的控制權,當他們運行等等。在失敗或不穩定的構建中,我們使用它來運行'責怪的手指'shell腳本。
if (manager.build.result.isWorseThan(hudson.model.Result.SUCCESS)) {
item = hudson.model.Hudson.instance.getItem("PROJECTNAMEHERE")
lastStableBuild = item.getLastStableBuild()
lastStableDate = lastStableBuild.getTime()
formattedLastStableDate = lastStableDate.format("MM/dd/yyyy h:mm:ss a")
now = new Date()
formattedNow = now.format("MM/dd/yyyy h:mm:ss a")
command = ['/appframe/jenkins/appframework/fob.ksh', "${formattedLastStableDate}", "${formattedNow}"]
manager.listener.logger.println "FOB Command: ${command}"
manager.listener.logger.println command.execute().text
}
(我們的命令接受最後的穩定版本的日期和當前時間作爲參數,以便它可以去調查誰可能已經打破了身材,但你可以運行你在一個類似的方式喜歡的任何命令)
相關問題
- 1. 運行shell腳本在詹金斯
- 2. 詹金斯發佈通過SSH運行一個shell腳本
- 3. 從詹金斯shell腳本運行rsync
- 4. 詹金斯不能執行腳本
- 5. 詹金斯 - 執行系統groovy腳本
- 6. 從詹金斯管道執行腳本
- 7. 詹金斯+ Maven的 - 如何發佈之前執行shell腳本:執行清理項目
- 8. 從詹金斯發佈npm
- 9. 詹金斯平行運行腳本
- 10. 詹金斯碼頭工人 - 運行一個容器,執行shell腳本等
- 11. 詹金斯在UNIX上執行腳本在Windows服務器
- 12. 執行Ansible劇本使用詹金斯
- 13. 詹金斯:如何在PostBuild部分執行PowerShell腳本?
- 14. 的Maven插件發佈在詹金斯
- 15. 詹金斯shell腳本在.sh文件中不工作
- 16. 在詹金斯執行Shell的結果不一致
- 17. 從詹金斯的鏈接執行Groovy腳本
- 18. 詹金斯groovy腳本 - 混帳命令執行
- 19. 詹金斯不會執行python腳本正確
- 20. 詹金斯超時,因爲長腳本執行
- 21. 在詹金斯DSL執行cron作業
- 22. 詹金斯:並行測試執行
- 23. 權限被拒絕的錯誤 - 詹金斯(shell腳本)
- 24. 如何使用詹金斯環境變量的shell腳本?
- 25. xcodebuild聯編拋出的詹金斯shell腳本
- 26. 進樣環境變量爲詹金斯與shell腳本
- 27. 詹金斯shell腳本的git拉來生產目錄
- 28. 如何使用詹金斯參數shell腳本
- 29. 無法允許詹金斯爲shell腳本
- 30. 詹金斯 - 發佈到文件夾
我會推薦[PostBuildScript插件](https://wiki.jenkins-ci.org/display/JENKINS/PostBuildScript+Plugin)來代替簡單地運行腳本。如果您不需要在日誌輸出上進行條件化,則它更簡單,更健壯。例如,它允許在構建後操作中運行任何構建步驟。 – Sampo
另請注意,Post Build Task插件會將整個控制檯輸出放入內存中以執行條件測試......如果有數百個作業產生大量輸出,則可能佔用大量內存......我們的jenkins主服務器剛剛崩潰由於這個插件... – grayaii
PostBuildScript插件已被暫停。 – Upen