我有很多工作包含非常类似的配置值。
然后我有了使用EnvInject Plugin来读取生成的属性文件的想法,该文件包含了我的大部分配置。
但是,我不知道在Jenkins作业配置中可以使用环境变量的程度。
例如,在Maven作业中,我可以将根POM指定为${JOB_NAME}/pom.xml
。詹金斯会告诉我它无法找到该文件,但这项工作确实有效。
配置其他部分(比如要保留的构建数量)会失败(简单地删除变量)。
那么有没有人有使用环境变量来减少Jenkins中的复制/粘贴配置的经验?
答案 0 :(得分:0)
如果您的目标是减少剪切和粘贴,那么job dsl plugin可能会更好地满足您的需求。
您可以构建模板作业(using语句),然后使用它来构建主要作业。
修改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')
}
}
此外,如果您需要更改所有作业,则可以更改模板并重建主要作业