如何在 jenkins 管道中使用 git 参数插件(用于分支)?

Den*_*boy 3 jenkins jenkins-pipeline

我想在 Jenkins 中将我的分支列为参数。在自由式作业中是可能的(使用 git 参数插件)。但我不知道如何让它在管道内工作?

该插件告诉我们他们添加了管道支持,但在某处没有示例。

Tin*_*ky_ 5

对于声明式流水线,您可以添加一个 git 参数,如下所示:

pipeline{
  agent any 

  parameters {
    gitParameter(
      branch: '',
      branchFilter: ".*",
      defaultValue: "",
      description: '',
      listSize: '10',
      name: 'Version',
      quickFilterEnabled: false,
      selectedValue: 'NONE',
      sortMode: 'ASCENDING_SMART',
      tagFilter: "*",
      type: 'PT_BRANCH_TAG',
      useRepository: 'git@github.com:foo/bar.git')
   }
   stages{
      stage ("echo Git Tag") {
        steps {
          echo "${params.Version}"
        }
     }
  } 
}
Run Code Online (Sandbox Code Playgroud)

上面的示例将向您显示 repo 上可用的所有分支和标签。如果只想显示标签,请将类型更改为

类型:'PT_TAG'

如果你只想显示特定的标签,你可以过滤,例如,只显示以“foo”开头的标签

标签过滤器:“foo*”

如果您想查看更多详细信息,只需查看 Pipeline Syntax Generator。您会在以下位置找到:

示例步骤 -> 属性 -> 此项目已参数化 -> 添加参数 -> git 参数


小智 2

我建议您使用多分支管道插件

假设您在 GIT 中有多个可用分支。创建多分支管道作业允许您在单个项目下区分和运行基于分支的 Jenkins 作业。

除了 GIT 之外,它还支持 Bit-bucket、GitHub、Subversion、Mercurial、单一存储库和分支。