gpt4 book ai didi

jenkins - 如何使用作业 dsl 配置基本分支构建策略插件?

转载 作者:行者123 更新时间:2023-12-02 00:56:49 25 4
gpt4 key购买 nike

多分支管道插件虽然很棒,但不会开箱即用地构建标签。需要使用 basic-branch-build-strategies-plugin 来启用标签发现和构建。

我的问题直接关系到:Is there a way to automatically build tags using the Multibranch Pipeline Jenkins plugin?

该插件在 UI 中运行良好,但似乎无法使用 Jenkins 作业 dsl 轻松配置。有没有人有关于如何使用 dsl(或 dsl configure->)设置分支策略以便发现和构建标签的示例?

在通过 ui 更改设置时检查了 config.xml 文件之间的增量后,看起来我需要能够添加此特征:

<org.jenkinsci.plugins.github__branch__source.TagDiscoveryTrait />

以及构建策略下的本节:
<buildStrategies
<jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl
plugin="basic-branch-build-strategies@1.1.1">
<atLeastMillis>-1</atLeastMillis>
<atMostMillis>172800000</atMostMillis>
</jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl>
</buildStrategies>

最佳答案

就像是

multibranchPipelineJob('pipline') {
...
branchSources {
branchSource {
source {
github {
...
traits {
...
gitTagDiscovery()
}
}
buildStrategies {
buildTags {
atLeastDays '-1'
atMostDays '20'
}
}
}
}
}
}

是我一直在使用的。它没有记录在插件中,但这并不能阻止 job-dsl 插件为其动态生成 API 调用。

您可以通过访问 {your_jenkins_url}/plugin/job-dsl/api-viewer/index.html 查看您的特定 Jenkins 安装的 API 是什么。 .
有时事情不会出现在那里,因为插件缺乏对 job-dsl 的支持。
在这种情况下,您仍然可以使用 Configure Block 生成 xml。 .
但是,这使用起来非常笨拙。

编辑:至少如果我使用 gitHubTagDiscovery()正如动态生成 API 所建议的那样,Jenkins 会崩溃。相反,必须使用 configure 块来获取 github 的所有发现方法。
  configure {
def traits = it / sources / data / 'jenkins.branch.BranchSource' / source / traits
traits << 'org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait' {
strategyId(1)
}
traits << 'org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait' {
strategyId(1)
}
traits << 'org.jenkinsci.plugins.github__branch__source.TagDiscoveryTrait'()
}

关于jenkins - 如何使用作业 dsl 配置基本分支构建策略插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53765094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com