簡體   English   中英

開發Jenkins post-build插件

[英]Developing Jenkins post-build plugin

我目前正在開發一個簡單的插件,可以從Jenkins構建中檢索結果。 我正在擴展Notifier並使用build.getResults()來獲取信息。 但是,當我上傳我的插件時,我無法將其設置為后構建操作。
當我運行我的構建時,它們會在build.getResults()上中斷,因為我在構建仍在運行時嘗試獲取結果。

我該怎么做才能正確獲得構建結果?

最好的方法是查看使用Notifier擴展點的現有插件 (單擊以展開實現插件列表)。

檢查您是否具有Descriptor實現(內部)類以及config.jelly。 還要檢查jenkins.out和jenkins.err日志中的任何異常(例如malformed config.jelly)。

編輯:實際上,這個插件的Notifier子類看起來很簡單,因為Notifiers去了: https//wiki.jenkins-ci.org/display/JENKINS/The+Continuous+Integration+Game+plugin ,特別參見它的GamePublisher.java和相應的config.jelly ,它是GameDescriptor.java ,它已經成為一個完整的外部類(通常描述符是內部類)。 此外,如果你想要選擇Jenkins的全局配置,你需要一個global.jelly ,但是如果你沒有這樣的選項,那就是你可以省略的東西(不像config.jelly,你必須擁有Notifier,即使它是空的,就像這里一樣)。

作為一般說明,當事情不起作用時,它可能真的很煩人,你沒有得到任何錯誤,你的東西只是Jenkins沒有顯示...如果你只想讓事情適合你,使用Groovy構建步驟可能更容易,但如果你想讓其他人工作,那么做一個體面的完整插件可以減少支持請求。

由於這聽起來很簡單,你確定需要一個插件嗎? 看一下使用Groovy Postbuild步驟 ; 他們寫起來容易得多。 鏈接中有一些很好的用法示例。 如果您確定需要插件,請查看是否可以擴展現有插件而不是編寫自己的插件; 這是一種更容易理解Jenkins插件編寫的細節。

暫無
暫無

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

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