从没有种子作业的 DSL 创建 Jenkins 作业

Create Jenkins Job from DSL without seed job

据我了解,Jenkins 的工作创建可以自动使用 Job DSL 插件 - 但是要评估 DSL,需要先手动创建种子作业。

我想在没有任何人工交互的情况下自动创建工作 - 有没有办法在不使用网络前端的情况下将 DSL 转换为相应的 .../.jenkins/jobs/job.xml

你有 2 个选择来实现这个

  1. 创建一个使用 DSL 创建种子作业的 Jenkins 作业。 Job-dsl 提供了编写配置块的功能,如果您查看 Seed 作业,它只不过是从 git 存储库中提取 DSL 代码。通过 Configure 块注入 org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition,它应该工作
  2. 更优雅的方法是使用 Jenkins CLI。如果您熟悉 Java,您可以使用 Jenkins Java 客户端 API 并编写一个小型应用程序来创建种子作业

    JenkinsServer jenkinsServer = new JenkinsServer(新 URI(jenkinsurl), userid, password); jenkinsServer.createJob("Seed Job Name", <>, 真);