Jenkins 詹金斯:可以用詹金斯档案创建一份常春藤工作吗?(管道作为代码)

Jenkins 詹金斯:可以用詹金斯档案创建一份常春藤工作吗?(管道作为代码),jenkins,ivy,jenkins-pipeline,Jenkins,Ivy,Jenkins Pipeline,我有几个使用常春藤的项目,因此我创建了常春藤作业,用于构建我的工件并将其发布到存储库 Ivy插件非常有用,因为它以自动方式为我处理依赖关系。但是,我正在将这些作业转移到“作为代码的管道”方法,并希望使用Jenkinsfiles为我的每个项目自动创建作业 我的疑问是:我能否使用Jenkinsfile创建完全相同的作业(常春藤)?如果没有,我可以使用詹金斯文件创建任何类型的常春藤作业吗?您可以使用詹金斯文件中的作业DSL插件来创建新作业,请参阅 下面的管道代码调用Job DSL构建步骤,该步骤将运行

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

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


我的疑问是:我能否使用
Jenkinsfile
创建完全相同的作业(常春藤)?如果没有,我可以使用
詹金斯文件创建任何类型的常春藤作业吗?

您可以使用詹金斯文件中的作业DSL插件来创建新作业,请参阅

下面的管道代码调用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')
    }
  }
}
有关详细信息,请参阅作业DSL API文档:

您可以从Jenkins文件中使用Job DSL插件来创建新作业,请参阅

下面的管道代码调用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')
    }
  }
}
有关详细信息,请参阅作业DSL API文档: