我在 Jenkins 中使用 Job DSL。有一个种子作业会生成一些文件,这些文件应该在可以在不同节点上运行的其他作业之间共享。如果未生成文件,则可以使用配置文件提供程序插件来完成此任务。但是,我需要文件是动态的,这样就不需要 Jenkins UI 交互。
是否可以使用时髦的脚本向插件添加文件?
我能想到的唯一其他选择是记录 UI 交互,并让脚本使用修改后的数据重播它。在更安全的 Jenkins 的情况下,这也需要获得正确的身份验证和 CSRF 令牌。
您可以使用作业 DSL 创建由配置文件提供程序插件管理的配置文件:
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
当你使用 job-dsl 时,你可以从 Groovy 运行时可以访问的任何位置读入数据。
您可以将共享配置存储在脚本本身的硬编码变量中。
您可以通过 Jenkins 参数将数据注入到种子作业中。
可以从存储种子作业的 git 存储库中的文件中检索数据。
您可以从数据库 REST API 中检索数据。
等等等等。