在Jenkins作业中我可以在多大程度上使用环境变量?

时间:2014-12-24 11:19:01

标签: jenkins

我有很多工作包含非常类似的配置值。

然后我有了使用EnvInject Plugin来读取生成的属性文件的想法,该文件包含了我的大部分配置。

但是,我不知道在Jenkins作业配置中可以使用环境变量的程度。

例如,在Maven作业中,我可以将根POM指定为${JOB_NAME}/pom.xml。詹金斯会告诉我它无法找到该文件,但这项工作确实有效。

配置其他部分(比如要保留的构建数量)会失败(简单地删除变量)。

那么有没有人有使用环境变量来减少Jenkins中的复制/粘贴配置的经验?

1 个答案:

答案 0 :(得分:0)

如果您的目标是减少剪切和粘贴,那么job dsl plugin可能会更好地满足您的需求。

您可以构建模板作业(using语句),然后使用它来构建主要作业。

tutorial

修改
job {
    name 'DSL-Tutorial-1-Test'
    using 'seed-job'
    scm {
        git('git://github.com/jgritman/aws-sdk-test.git')
    }
    triggers {
        scm('*/15 * * * *')
    }
    steps {
        maven('-e clean test')
    }
}

此外,如果您需要更改所有作业,则可以更改模板并重建主要作业