从没有种子作业的 DSL 创建 Jenkins 作业
Create Jenkins Job from DSL without seed job
据我了解,Jenkins 的工作创建可以自动使用
Job DSL 插件 - 但是要评估 DSL,需要先手动创建种子作业。
我想在没有任何人工交互的情况下自动创建工作 - 有没有办法在不使用网络前端的情况下将 DSL 转换为相应的 .../.jenkins/jobs/job.xml
?
你有 2 个选择来实现这个
- 创建一个使用 DSL 创建种子作业的 Jenkins 作业。 Job-dsl 提供了编写配置块的功能,如果您查看 Seed 作业,它只不过是从 git 存储库中提取 DSL 代码。通过 Configure 块注入 org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition,它应该工作
更优雅的方法是使用 Jenkins CLI。如果您熟悉 Java,您可以使用 Jenkins Java 客户端 API 并编写一个小型应用程序来创建种子作业
JenkinsServer jenkinsServer = new JenkinsServer(新 URI(jenkinsurl), userid, password);
jenkinsServer.createJob("Seed Job Name", <>, 真);
据我了解,Jenkins 的工作创建可以自动使用 Job DSL 插件 - 但是要评估 DSL,需要先手动创建种子作业。
我想在没有任何人工交互的情况下自动创建工作 - 有没有办法在不使用网络前端的情况下将 DSL 转换为相应的 .../.jenkins/jobs/job.xml
?
你有 2 个选择来实现这个
- 创建一个使用 DSL 创建种子作业的 Jenkins 作业。 Job-dsl 提供了编写配置块的功能,如果您查看 Seed 作业,它只不过是从 git 存储库中提取 DSL 代码。通过 Configure 块注入 org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition,它应该工作
更优雅的方法是使用 Jenkins CLI。如果您熟悉 Java,您可以使用 Jenkins Java 客户端 API 并编写一个小型应用程序来创建种子作业
JenkinsServer jenkinsServer = new JenkinsServer(新 URI(jenkinsurl), userid, password); jenkinsServer.createJob("Seed Job Name", <>, 真);