如何使用作业 DSL 配置 Jenkins 交付管道视图中要显示的最终作业?
How can a final-job-to-be-displayed in a Jenkins Delivery Pipeline view be configured using the Job DSL?
设置
- 我们正在使用 Jenkins 交付管道插件 (https://wiki.jenkins-ci.org/display/JENKINS/Delivery+Pipeline+Plugin)
- 我们也在使用作业 DSL 插件 (https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin)
如何通过 UI
在 View 配置页面上,view 中最后显示的作业有一个设置:
Pipelines
Components
Name [text field here]
Initial Job [text field here]
Final Job (optional) [text field here]
当给出 final Job 时,视图不会显示该作业可能触发的任何作业,即正如标签所暗示的,该作业是最后一个作业显示在这个视图中。
问题
如何使用作业 DSL 配置这个最终作业名称?
内置DSL 目前不支持设置最后一个作业。但是您可以使用 Configure Block 来生成任何配置:
deliveryPipelineView('example') {
pipelines {
component('one', 'foo1')
component('two', 'foo2')
}
configure { view ->
def components = view / componentSpecs
components.'se.diabol.jenkins.pipeline.DeliveryPipelineView_-ComponentSpec'[0] << lastJob('bar1')
components.'se.diabol.jenkins.pipeline.DeliveryPipelineView_-ComponentSpec'[1] << lastJob('bar2')
}
}
设置
- 我们正在使用 Jenkins 交付管道插件 (https://wiki.jenkins-ci.org/display/JENKINS/Delivery+Pipeline+Plugin)
- 我们也在使用作业 DSL 插件 (https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin)
如何通过 UI
在 View 配置页面上,view 中最后显示的作业有一个设置:
Pipelines
Components
Name [text field here]
Initial Job [text field here]
Final Job (optional) [text field here]
当给出 final Job 时,视图不会显示该作业可能触发的任何作业,即正如标签所暗示的,该作业是最后一个作业显示在这个视图中。
问题
如何使用作业 DSL 配置这个最终作业名称?
内置DSL 目前不支持设置最后一个作业。但是您可以使用 Configure Block 来生成任何配置:
deliveryPipelineView('example') {
pipelines {
component('one', 'foo1')
component('two', 'foo2')
}
configure { view ->
def components = view / componentSpecs
components.'se.diabol.jenkins.pipeline.DeliveryPipelineView_-ComponentSpec'[0] << lastJob('bar1')
components.'se.diabol.jenkins.pipeline.DeliveryPipelineView_-ComponentSpec'[1] << lastJob('bar2')
}
}