Jenkins:是不是可以使用 Jenkinsfile 创建常春藤工作? (管道即代码)
Posted
技术标签:
【中文标题】Jenkins:是不是可以使用 Jenkinsfile 创建常春藤工作? (管道即代码)【英文标题】: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 插件非常有用,因为它以自动方式为我处理依赖关系。但是,我将这些作业转移到“管道即代码”方法,并希望使用Jenkinsfile
s 为我的每个项目自动创建作业。
我的疑问是:我可以使用Jenkinsfile
创建完全相同的工作(常春藤)吗?如果没有,我可以使用Jenkinsfile
创建任何类型的 Ivy 工作吗?
【问题讨论】:
【参考方案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
【讨论】:
以上是关于Jenkins:是不是可以使用 Jenkinsfile 创建常春藤工作? (管道即代码)的主要内容,如果未能解决你的问题,请参考以下文章
Expect Scripts 是不是可以与 Jenkins 和 Bamboo 等 CI/CD 工具配合使用?
当 github 帐户使用 2 因子身份验证时,是不是可以将 Jenkins Webhooks 与 Github 一起使用