簡體   English   中英

在Jenkins中進行后期構建后執行Shell腳本

[英]Execute Shell Script after post build in Jenkins

我試圖執行一個shell腳本,如果構建通過或在Jenkins后構建后失敗。 我沒有在post build中看到這個選項來執行一些shell腳本,除了運行目標。

使用Post build任務插件很容易完成。

Jenkins  - “發布構建任務”選項

您還可以使用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
}

(我們的命令將最后一個穩定的構建日期和當前時間作為參數,因此它可以調查誰可能已經破壞了構建,但您可以以類似的方式運行您喜歡的任何命令)

如果我正確地閱讀您的問題,您希望在構建的后期構建操作部分中運行腳本。

我自己使用PostBuildScript插件在構建存檔工件和發布測試結果后運行git clean -fxd 我的Jenkins奴隸有SSD磁盤,所以我沒有房間保持工作區中生成的文件。

您應該可以使用Batch Task插件執行此操作

  1. 在項目中創建批處理任務。
  2. 添加“調用批處理任務”構建后選項,選擇同一項目。

另一種選擇也可以是Post build task插件。

您必須將構建后的shell腳本設置為單獨的Jenkins作業,並將其作為構建后步驟觸發。 看起來您需要使用參數化觸發器插件,因為標准的“構建其他項目”選項僅在觸發構建成功時才有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM