我在Jenkins中使用Job DSL。有一个seed job生成一些文件,这些文件应该在可以在不同节点上运行的其他作业之间共享。如果未生成文件,config files provider plugin可用于此任务。但是我需要文件是动态的,因此不需要Jenkins UI交互。
是否可以使用groovy脚本将文件添加到插件中?
我能想到的唯一另一个选择是记录UI交互并让脚本用修改后的数据重放它。如果Jenkins更加安全,那么还需要正确的身份验证和CSRF令牌。
答案 0 :(得分:3)
您可以使用Job DSL创建由Config File Provider插件管理的配置文件:
configFiles {
customConfig {
id('one')
name('Config 1')
comment('lorem')
content('ipsum')
providerId('???')
}
}
请参阅https://github.com/jenkinsci/job-dsl-plugin/wiki/Job-DSL-Commands#config-file
答案 1 :(得分:1)
当您使用job-dsl时,您可以从Groovy运行时可以访问的任何位置读取数据。
您可以将共享配置存储在脚本本身的硬编码变量中。
您可以通过Jenkins参数将数据注入种子作业。
您可以从存储种子作业的git仓库中的文件中检索数据。
您可以从数据库REST API中检索数据。
等等。