Jenkins 多分支管道 - 在分支中配置属性?

don*_*tin 5 git branch build jenkins jenkins-pipeline

我们已经使用 Jenkins 多分支管道插件成功设置了构建管道,该插件在大多数情况下都运行良好,但有一个问题困扰着我们:包含一组Jenkinsfile属性,这些属性也显示在 UI 中,但是如何我可以为各个分支设置默认值吗?

这就是我们的属性定义的样子Jenkinsfile

properties([
    parameters([
        string(defaultValue: 'somevalue', description: 'Some description', name: 'SOME_VALUE'),
        string(defaultValue: 'asdfasdfasdfasdfdasdasdasdasd...', description: 'Client ID', name: 'TEST_CLIENT_ID'),
        // ... more properties
        string(defaultValue: '', description: 'Enter non-empty value to skip tests', name: 'SKIP_TESTS'),
    ]), 
    [$class: 'RebuildSettings', autoRebuild: true, rebuildDisabled: false],
    pipelineTriggers([])
])
Run Code Online (Sandbox Code Playgroud)

我确实为每个分支构建管道都有一个“显示配置”(管道是自动生成的),并且我可以在执行“使用参数构建”时输入值,但我似乎无法保存分支默认值?根本没有“保存”按钮。

我们是否错误配置了 Jenkins,或者我是否在其他地方执行此操作?我想要实现的是能够在每个分支的基础上定义属性的默认值。

安装版本

  • 詹金斯版本:2.19.4
  • 多分支管道插件版本:2.9.2

Lee*_*dor 1

您可以使用带有双引号字符串的形式

string(defaultValue: "branch-${env.GIT_BRANCH}", description: 'Some description', name: 'SOME_VALUE')
Run Code Online (Sandbox Code Playgroud)

设置参数的默认值(如您在问题中所描述的)

它受到以下事实的限制:当在一个构建中执行“属性”步骤时,它会设置下一个构建中出现的参数默认值。这是因为参数输入是在 Jenkinsfile 可用之前完成的。