0

如果我正在开发一个插件并且想要从使用这样的步骤切换:

step([$class: 'Gradle', 
           switches: "-PenableInstallerDistribution=true",
           tasks: 'build install',
           gradleName: '(Default)',
           useWrapper: true,
           makeExecutable: true,
           fromRootBuildScriptDir: true,
           useWorkspaceAsHome: true])

像这样一个不错的 dsl 元素:

gradle switches: "-PenableInstallerDistribution=true",
       tasks: 'build install',
       gradleName: '(Default)',
       useWrapper: true,
       makeExecutable: true,
       fromRootBuildScriptDir: true,
       useWorkspaceAsHome: true

也许最重要的是,出现在片段生成器中,我该怎么办?我查看了我能找到的文档,但仍然找不到关于扩展 dsl 的任何建议。

4

1 回答 1

1

首先,如果除了省略之外,您并没有真正自定义步骤配置step,那么这可能是浪费时间,因为 Workflow 核心的未来修订版可能包含“元步骤”的语法糖,例如step,checkout和 (now) wrap。(并且任何SimpleBuildStep已经出现在片段生成器step。)

也就是说,如果您确实需要创建一流的步骤,则需要添加插件依赖项workflow-step-api,通常是扩展AbstractStepImpl、、AbstractStepDescriptorImplAbstractStepExecutionImpl

如果您尝试实现JENKINS-27393,那么我会说一个有用的实现需要等待基础设施JENKINS-26055,因为仅包装现有Gradle构建器将不允许流程在 Jenkins 重启(或从属断开连接)中幸存下来这一步的中间。

于 2015-06-23T00:28:37.537 回答