当前位置: 首页 > 知识库问答 >
问题:

为Jenkins多分支管道中的每个分支设置通用构建参数

田普松
2023-03-14

我有一个Jenkins多分支项目和几个分支,其中Jenkins管道文件。我还有几个常见的参数,这些参数适用于每个分支(如要运行的测试组、selenium属性等)

如何在Jenkins接口中定义这些参数的集合,以便它们将出现在每次分支运行中,以便每个新分支自动变为“参数化构建”?我可以在特定分支构建的配置中看到此标志(但无法保存):

但不在多分支项的配置中。

詹金斯2.89.3

共有2个答案

齐建白
2023-03-14

对于最新版本的Jenkins,您可能会遇到以下错误:“属性”部分从0.8版起被重命名。您可以使用参数指令:

文档:管道语法:参数

下面是一个示例:

pipeline {
  parameters {
    string(name: 'MY_PARAM', defaultValue: '', description: 'My parameter')
  }

  agent {
    label 'docker-slave'
  }

  environment {
    DURATION=240
  }

  stages {

    stage('First Stage') {
      when {
        beforeAgent true
      }
      steps {
        sh  "echo ${params.MY_PARAM}"
      }
    }
  }
}

我希望它有帮助!

凌照
2023-03-14

我只需要在管道中的属性步骤中定义它们...

 properties([
                parameters([
                        string(name: 'one', defaultValue: ''),
                        string(name: 'second', defaultValue: ''),
                        string(name: 'third', defaultValue: ''),
                ])
        ])

这是一种魔法!:)

 类似资料:
  • 是否可以将多分支管道限制为一次只构建一个分支? 我有一个管道,它包含签出、构建、测试,然后部署的步骤。部署阶段在特定的机器上复制/执行一些文件,这些工作无法与其他分支作业并行完成。 我尝试过: 但这只限制了基于分支的并发,因此仍然有多个分支将并行运行。 此外,在常规非流水线Jenkins作业中,有一个选项复选框: “必要时执行并发生成” 但这在多分支配置中也不可用。 是否有其他配置来实现这一点,或

  • 对于一个新项目,我想使用Jenkins CI的新管道功能。我们的Git存储库中有几个分支,应该以同样的方式进行测试。它还应该自动跟踪和处理新的分支。因此,我创建了一个多分支管道作业。但它的配置有两个问题: 1) 为了被Jenkins标记为有效,分行需要一个“Jenkinsfile”。如果这不存在,詹金斯将忽略该分支。有没有办法标记与模式匹配的所有分支,而不需要在其中包含此文件? 2) 每个分支都应

  • 我正在使用管道插件运行Jenkins 2。我已经设置了一个多分支管道项目,其中每个分支(主、开发等)在根目录中都有一个Jenkinsfile。设置这个很简单。但是,我不知道如何让每个分支定期运行(不是分支索引),即使代码没有改变。我需要在Jenkinsfile中放入什么来启用定期构建?

  • 我正试图在詹金斯建立一个多分支管道项目。理想情况下,我希望在开发人员推出新代码后构建分支管道。例如,如果开发人员推送到“dev”分支,那么“dev”管道将自动生成。 我知道在“扫描多分支管道触发器”选项下,您可以设置Jenkins查找更改的频率,但我更希望是相反的方式,这意味着一旦分支中有新代码,Jenkins将构建管道。 我配置了我的Jenkinsfile,并在我的GitHub项目中设置了Web

  • 有人知道如何使用跨分支的多分支作业中设置的声明性管道来限制并发构建吗? 每当我们为某个阶段设置代理时,就会分配一个新的执行者。这会导致死锁,例如,当您为尽可能多的分支同时触发生成时,您有执行者。不设置代理会导致阶段随机选择执行者,这是不可接受的,因为某些阶段需要在某些代理上运行。。。 经典的方法不起作用: Throttle并发构建插件不适用于多分支 设置属性([disableConcurrentB

  • 我正在尝试设置以下内容http://entagen.github.io/jenkins-build-per-branch/詹金斯的插件。我创建了一个名为test_template-master的作业,并在Switches字段中将-DtemplateJobPrefix=test_uu-DtemplateBranchName=master放入我的配置中。 当运行作业现在我得到以下错误: 从中获取项目名