jenkins job builder定义job变量缺省值的覆盖顺序

本文介绍了Jenkins Job Builder (JJB) 中变量继承的规则及其覆盖顺序。按照job-group、project、job-template和defaults的优先级,job-group具有最高优先级,而defaults具有最低优先级。在实践中,通过实验展示了project和job-template中变量定义如何影响最终job的参数。内容包括变量覆盖的具体例子,以帮助理解JJB的变量管理机制。

一、jjb中的变量继承---官网定义

在JJB中可以为不同级别的变量定义默认值,这样用户可以覆盖job-templates中定义的变量。

每种定义类型的变量优先级如下:

  1. job-group
  2. project
  3. job-template
  4. defaults

从这个列表中我们可以看到,如果我们想在job-templates中覆盖变量,那么使用defaults配置是没用的,因为它具有最低优先级。

另一方面,job-group具有最高优先级。如果我们在job-group中定义一个变量并打算在项目级别覆盖它,是无法做到的。因此,请避免在job-group中设置变量,除非我们要对一组job强制执行设置并阻止projects覆盖它。

二、一些实践

对于project和job-template中变量定义的细节,我做了一些试验,结果如下:

1. 

- project:
    name: foo
    tasty: 'project-tasty'
    module:
      - apple:
          tasty: 'module-apple-tasty'
      - orange
    stream:
      - master:
          tasty: 'stream-master-tasty'
    jobs:
      - '{module}-verify-{stream}'

- job-template:
    name: '{module}-verify-{stream}'
    project-type: pipeline
    sandbox: true
    tasty: 'job-template-tasty'
    parameters:
        - string:
            name: TASTY
            default: '{tasty}'
    dsl:
        !incl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值