gpt4 book ai didi

jenkins - 使用 groovy init 创建 Jenkins WorkflowMultibranchProject 作业

转载 作者:行者123 更新时间:2023-12-02 15:35:16 27 4
gpt4 key购买 nike

我正在自动化 Jenkins master 的配置,以实现一键实例化。我们为每个实例创建 6 个标准作业,我希望能够通过 groovy.init.d 脚本创建它们,但尚未找到此类作业的示例。

我们使用 cloudbees Bitbucket Team/Project 插件,最终创建 WorkflowMultibranchProject 类型的作业,并附加配置以连接到我们的本地 Bitbucket 实例。

有人有通过 groovy 创建此类工作的示例吗?我是否最好尝试使用 JobDSL 来创建工作(我已经为 Mother Seed 工作这样做了)

[更新]:在下面的答案的帮助下,提出了创建整个 Bitbucket 团队/项目作业的完整示例:https://github.com/redfive/jenkins-init/blob/master/init.groovy.d/core-jobs.groovy

最佳答案

在使用了 Job DSL 后,我不确定它是否比使用 Groovy 更容易(因为 Job DSL 缺乏对某些配置选项的支持)。

类似OrganizationFolder的示例可以在 @coderanger 中找到。的文章 https://coderanger.net/jenkins/ :

  // Create the top-level item if it doesn't exist already.
def folder = jenkins.items.isEmpty() ? jenkins.createProject(OrganizationFolder, 'MyName') : jenkins.items[0]
// Set up GitHub source.
def navigator = new GitHubSCMNavigator(githubOrg)
navigator.credentialsId = cred.id // Loaded above in the GitHub section.
navigator.traits = [
// Too many repos to scan everything. This trims to a svelte 265 repos at the time of writing.
new jenkins.scm.impl.trait.WildcardSCMSourceFilterTrait('*-cookbook', ''),
// We have a ton of old branches so try to limit to just master and PRs for now.
new jenkins.scm.impl.trait.RegexSCMHeadFilterTrait('^(master|PR-.*)'),
new BranchDiscoveryTrait(1), // Exclude branches that are also filed as PRs.
new OriginPullRequestDiscoveryTrait(1), // Merging the pull request with the current target branch revision.
]
folder.navigators.replace(navigator)

下次当我设置实例时,我可能会尝试一下。

关于jenkins - 使用 groovy init 创建 Jenkins WorkflowMultibranchProject 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48549312/

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