我目前正在開發一個簡單的插件,用於從Jenkins構建中檢索結果。我正在擴展Notifier,並使用build.getResults()
來獲取信息。但是,當我上傳我的插件時,我無法將其設置爲構建後操作。
當我運行我的構建時,他們在build.getResults()
上破壞,因爲我正在嘗試在構建仍在運行時獲取結果。
我能做些什麼才能正確獲取構建結果?
開發Jenkins構建插件
6
A
回答
1
由於這聽起來很簡單,你確定你需要一個插件嗎?看看使用Groovy Postbuild step來代替;他們寫得更容易。鏈接中有一些很好的使用示例。如果你確定你確實需要一個插件,看看你是否可以擴展現有的插件而不是自己寫;這是一個更容易理解Jenkins插件寫作的來龍去脈的方法。
2
最好的事情是看existing plugins which use Notifier extension point(點擊展開實施插件列表)。
檢查您是否有Descriptor實現(內部)類以及config.jelly。另外檢查jenkins.out和jenkins.err日誌是否有任何異常(例如格式錯誤的config.jelly)。
編輯:其實,這個插件的通知子看起來很簡單,因爲通告去:https://wiki.jenkins-ci.org/display/JENKINS/The+Continuous+Integration+Game+plugin,看到特別是其GamePublisher.java和相應的config.jelly,這是GameDescriptor.java,已經做了充分的外部類(通常描述爲內部類)。另外,如果你想要選項進入Jenkins的全局配置,你需要一個global.jelly,但是如果你沒有這樣的選項,那麼你可以忽略它(與config.jelly不同,即使它是空,就像這裏)。
作爲一般說明,當事情不起作用時,它可能真的很煩人,而且你沒有得到任何錯誤,你的東西根本就沒有被詹金斯顯示出來......如果你只是想讓事情適用於您使用Groovy構建步驟可能會更容易一些,但如果您想讓某些事情爲其他人員工作,那麼製作一個體面的完整插件將減少支持請求。
相關問題
- 1. Jenkins只爲開發分支構建
- 2. Eclipse插件開發 - 構建問題
- 3. 使用Ant構建Jenkins插件
- 4. 與Jenkins編譯和構建Eclipse插件
- 5. Jenkins「我將修復構建」插件
- 6. Jenkins插件 - 合併構建隊列?
- 7. Jenkins + Xcode插件.dSYM不對應構建
- 8. Jenkins插件開發 - 持久性
- 9. Jenkins插件開發 - 環境變量
- 10. Jenkins如何發現構建後插件的config.jelly?
- 11. Jenkins groovy發佈構建動作插件問題
- 12. Jenkins發佈帶有提升構建參數的插件
- 13. 使用Jenkins部署構建工件(開發,測試,產品)
- 14. jenkins構建管道插件添加文本構建框?
- 15. TFS插件查看構建視圖在Jenkins中構建視圖
- 16. Jenkins發佈 - 構建延遲
- 17. 在jenkins上創建工作類別以用於油門併發構建插件
- 18. 如何將構建日誌文件發送給jenkins中的開發人員
- 19. Jenkins構建文件夾
- 20. Jenkins的「觸發器構建」服務不會觸發構建
- 21. Jenkins ext-email插件無法發送構建成功的電子郵件
- 22. Android Jenkins構建
- 23. 如何訪問Jenkins從Groovy Postbuild插件構建工件?
- 24. 使用SCM SYNC插件構建Jenkins配置文件
- 25. 多個項目發佈將與Sonar和Jenkins分開構建
- 26. Jenkins構建開發分支並使用聲吶檢查代碼
- 27. Jenkins在使用基於trunk的開發時構建
- 28. 獲取本地構建的Jenkins構件
- 29. Jenkins/Maven發佈插件(級聯發佈)
- 30. Jenkins發佈M2發佈插件
我一直在使用Groovy Postbuild插件來調用一個安全的Web服務(由Coverity Connect 6.5.3公開),並且整個Jenkins JVM都運行在PermGen(JDK 1.7 update 15)之外。到目前爲止,Groovy Postbuild插件在調用SonarQube的REST服務方面工作良好。總之,只要注意Groovy Postbuild插件可能有限制。 – buzz3791
這個答案應該提供如何在建議使用現有插件之前執行此操作的示例。 –
@JohnZeller在我提供的鏈接中有很多使用示例,但我已經編輯了答案以使其更清晰。 –