【问题标题】:How does DSL extension in Jenkins plugin workJenkins 插件中的 DSL 扩展如何工作
【发布时间】:2018-01-04 00:42:23
【问题描述】:

我想为我的 Jenkins 插件(使用 maven 构建)创建 DSL 扩展,就像在 Jenkins 的 Docker 插件示例中一样。我看到 Docker.groovy 的 groovy 文件位于:src/main/resources/org/jenkinsci/plugins/docker/workflow/Docker.groovy

这个 groovy 文件是否必须在 org.jenkinsci.plugin.docker.workflow 中,或者我可以将它放在资源中吗?有什么区别?

另外,如果我以这种方式在 groovy 文件中定义我的 DSL 扩展,那么 DSL 扩展是否可用于在管道文件中隐式调用?

【问题讨论】:

    标签: jenkins jenkins-plugins jenkins-job-dsl


    【解决方案1】:

    为了通过您的插件在 Pipeline DSL 中提供一个步骤,您需要定义一个 Step 的子类来执行所需的任务。这可以完全在 Java 中完成,并且是在 Jenkins 插件中添加扩展 Pipeline DSL 的首选方法。

    您链接的 Docker 示例在这种情况下不常见,并且没有定义典型的 Pipeline DSL 步骤(Pipeline 中的 docker 指令功能类似于 agent、step 和 @987654327 之间的交叉@ 堵塞)。此外,它似乎包含一个 loads the Groovy script dynamically 的 Java 类,它充当指令的入口点。

    Groovy 可用于扩展 Pipeline DSL;然而,这是在 shared library 的上下文中完成的,这意味着更多的是在内部使用的样板减少工具。

    【讨论】:

      猜你喜欢
      • 2018-05-22
      • 2017-09-04
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多