我目前正在开发一个简单的插件,用于从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在我提供的链接中有很多使用示例,但我已经编辑了答案以使其更清晰。 –