Jenkins job-dsl-plugin:如何将环境变量注入 Ivy 作业?
Jenkins job-dsl-plugin: how to inject environment variables to an Ivy job?
我有一个使用 Inject environment variables to the build process
步骤的 Jenkins Ivy 作业。我正在编写一个 DSL 脚本,以便我可以使用 job-dsl-plugin
插件动态创建此作业。
我为此设置了以下几行:
steps {
envInjectBuilder {
propertiesFilePath('/tmp/file')
}
}
但是steps
方法只能适用于free-style job,不适用于ivy job。我在控制台输出中得到这个:
Processing DSL script ivyJob.groovy
java.lang.IllegalStateException: steps cannot be applied for Ivy jobs
DSL 插件不支持 Ivy 作业的 EnvInject 吗?如果没有,有没有办法以编程方式执行此操作?我知道 EnvInject 与 Ivy 作业兼容,因为我可以手动创建作业。
谢谢。
EnvInject 插件允许在构建生命周期的多个点注入变量。构建步骤只是一种可能性。对于 Ivy 项目类型,作业 属性 和包装器选项将起作用。
ivyJob('example') {
environmentVariables {
env('ONE', '1')
propertiesFile('env.properties')
keepBuildVariables(true)
}
wrappers {
environmentVariables {
env('ONE', '1')
envs(FOO: 'bar', TEST: '123')
propertiesFile('env.properties')
}
}
}
查看作业 DSL API 查看器了解详细信息:
我有一个使用 Inject environment variables to the build process
步骤的 Jenkins Ivy 作业。我正在编写一个 DSL 脚本,以便我可以使用 job-dsl-plugin
插件动态创建此作业。
我为此设置了以下几行:
steps {
envInjectBuilder {
propertiesFilePath('/tmp/file')
}
}
但是steps
方法只能适用于free-style job,不适用于ivy job。我在控制台输出中得到这个:
Processing DSL script ivyJob.groovy
java.lang.IllegalStateException: steps cannot be applied for Ivy jobs
DSL 插件不支持 Ivy 作业的 EnvInject 吗?如果没有,有没有办法以编程方式执行此操作?我知道 EnvInject 与 Ivy 作业兼容,因为我可以手动创建作业。
谢谢。
EnvInject 插件允许在构建生命周期的多个点注入变量。构建步骤只是一种可能性。对于 Ivy 项目类型,作业 属性 和包装器选项将起作用。
ivyJob('example') {
environmentVariables {
env('ONE', '1')
propertiesFile('env.properties')
keepBuildVariables(true)
}
wrappers {
environmentVariables {
env('ONE', '1')
envs(FOO: 'bar', TEST: '123')
propertiesFile('env.properties')
}
}
}
查看作业 DSL API 查看器了解详细信息: