当前位置: 首页 > 面试题库 >

从另一个管道调用参数化的Jenkins管道

邹晟睿
2023-03-14
问题内容

有任何方法可以从具有参数的另一个管道触发管道作业,我已经尝试过

build job: '/myjob', parameters: [string(name: 'param1', value:'val1')], wait: false

也尝试过

build job: 'myjob', parameters: [string(name: 'param1', value:'val1')], wait: false

build job: 'myjob', parameters: [[$class: 'StringParameterValue', name: 'param1', value: 'val1']], wait: false

没有运气,它说:

项目类型不支持参数


问题答案:

由于子作业是另一个多分支管道项目,因此我需要指定我要运行的分支

build job: 'myjob/master', parameters: [string(name: 'param1', value:'val1')], wait: false

现在可以用了



 类似资料:
  • 根据Andrew Bayer的说法,您不应该向其他人注入声明性管道。将来可能会有人支持它,但可能不会。 我目前正在尝试在管道中启动一个管道,但我想知道我需要做什么才能使它工作。jenkins网页上的文档说明,如果新作业或管道与第一个作业或管道位于同一文件夹中,则可以从直接名称或绝对路径调用它。我已经尝试了所有不同的方法,目前我正在尝试一个文件的绝对路径,我刚刚检查过它一秒钟前存在,但它说它不存在。

  • 我有一个 Jenkins 管道工作,如下所示: 后来我有这样的条件逻辑: 然而,触发器没有被激活。也就是说,“not triggered by timerTrigger”即使在parameterizedCron运行时也似乎是真的。 我从这里的文档中得到了这个例子。 我的问题是,如果我希望我的构建/发布阶段仅在branch == master上执行,而不是在参数化Cron执行期间执行,我该怎么做?

  • 目前,我们使用JJB编译Jenkins作业(大部分已经是管道),以便配置大约700个作业,但JJB2似乎无法很好地扩展以构建管道,我正在寻找一种方法将其从等式中删除。 我主要希望能够将所有这些管道存储在一个集中的存储库中。 请注意,在我们的用例中,将CI配置(jenkins文件)保存在每个存储库和分支中是不可能的,我们需要将所有管道保存在一个“jenkins jobs.git”repo中。

  • 我正在尝试从管道中自动创建Jenkins管道构建。 我有一个管道,它创建一个比特桶存储库并向其提交一些代码,包括一个Jenkinsfile。 我需要向此管道添加另一个步骤,然后为其创建管道生成,这将运行 Jenkinsfile 中的步骤。 我认为Jobs DSL应该能够处理这一点,但我找到的文档非常稀少,我仍然不完全确定是否有可能或如何做到这一点。 任何帮助都将不胜感激。我想生成的Pipeline

  • 我有一个管道,我刚刚添加了2个参数来构建发布或调试(参数称为发布或调试)。管道使用cron语法每10分钟检查一次SCM中的更改,管道检查每次提交,然后构建发布(C程序),但我想每天构建调试一次,比如说每天从12到13的每个提交都将在调试中构建。所有这些都不需要我运行管道和手动更改参数(默认设置为release)。有什么办法可以做到这一点?这是管道的一个非常简短的版本: