从Jenkinsfile调用自定义插件

时间:2017-05-23 12:57:05

标签: jenkins

我为jenkins创作了自定义插件。是否可以从Jenkinsfile调用它(以及如何,因为我找不到文档),还是应该从头开始重写Jenkinsfile中的逻辑?

2 个答案:

答案 0 :(得分:2)

现在回复,因为我也很难转换我的插件以支持Pipeline插件和文档令人困惑和不完整。

事实证明,如果你有一个可行的自定义Jenkins插件,那么就没有什么需要做的了。确保您的插件至少支持Jenkins 2.3版,并确保从structs导入了包org.jenkins-ci.plugins

在插件的@Symbol("%desiredPluginName%")之上添加%desiredPluginName%(将@Extension替换为您想要的任何名称)'描述。确保插件名称不包含特殊字符 - 否则您将在启动时收到无意义的错误消息。

implements SimpleBuildStep添加到您的插件&#39;步骤声明并实现public void perform(Run<?, ?> run, FilePath workspace, Launcher launcher, TaskListener listener)方法。与Step中的perform不同,此方法不返回任何内容,因此如果需要指示构建失败,则必须调用run.setResult(Result.failure)方法,而不是简单地返回false。

这应该足以开始使用您的插件。将它安装到一些测试Jenkins服务器并创建自定义Jenkins管道项目。在主页面上,您将看到

  

(?)管道语法

菜单按钮。单击它,然后在下拉列表中搜索您之前选择的插件名称。一旦找到它,它应该显示默认的插件配置页面。输入您需要的所有参数,然后点击Generate Pipeline Script。这个生成的代码最终可以插入到Jenkins文件中。

如果你不想看到丑陋的['$class': '', ...]配置行,你可以进一步阅读关于开发者指南的@Symbol,该指南已于今年发布,但对我来说最困难部分是获取Jenkinsfile配置代码。此外,还有a good example步骤,用于将常规插件转换为与Pipeline兼容的插件。

答案 1 :(得分:-1)

https://github.com/jenkinsci/pipeline-plugin/blob/master/DEVGUIDE.md详细解释了如何使插件与Pipeline兼容。