【问题标题】:Jenkins: Is it possible to create an Ivy job using Jenkinsfile? (pipeline as code)Jenkins:是否可以使用 Jenkinsfile 创建常春藤工作? (管道即代码)
【发布时间】:2016-10-31 06:56:25
【问题描述】:

我有几个使用 Ivy 的项目,因此我创建了 Ivy 作业来构建我的工件并将其发布到存储库。

Ivy 插件非常有用,因为它以自动方式为我处理依赖关系。但是,我将这些作业转移到“管道即代码”方法,并希望使用Jenkinsfiles 为我的每个项目自动创建作业。

我的疑问是:我可以使用Jenkinsfile 创建完全相同的工作(常春藤)吗?如果没有,我可以使用Jenkinsfile 创建任何类型的 Ivy 工作吗?

【问题讨论】:

    标签: jenkins ivy jenkins-pipeline


    【解决方案1】:

    您可以使用 Jenkinsfile 中的 Job DSL 插件来创建新作业,请参阅 https://github.com/jenkinsci/job-dsl-plugin/wiki/User-Power-Moves#use-job-dsl-in-pipeline-scripts

    以下管道代码调用 Job DSL 构建步骤,然后运行 ​​ivyJob.groovy Job DSL 脚本。

    node {
      step([
        $class: 'ExecuteDslScripts',
        scriptLocation: [targets: ['ivyJob.groovy']],
        removedJobAction: 'DELETE',
        removedViewAction: 'DELETE',
        lookupStrategy: 'SEED_JOB',
      ])
    }
    

    ivyJob.groovy 脚本随后将创建 Ivy 作业并运行 Ant 构建:

    ivyJob('example') {
      ivyBuilder {
        ant {
          target('clean')
          targets(['test', 'publish'])
          buildFile('build.xml')
          antInstallation('Ant 1.9')
          prop('key', 'value')
          javaOpt('-Xmx=1G')
        }
      }
    }
    

    有关详细信息,请参阅 Job DSL API 文档: https://jenkinsci.github.io/job-dsl-plugin/#path/ivyJob

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      • 2012-07-08
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 2012-09-17
      相关资源
      最近更新 更多