微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在init.groovy.d脚本中使用管道初始化Jenkins 2.0

为了自动化,我想用管道作业初始化Jenkins 2.0实例.我想创建一个Groovy脚本,在启动时复制到/usr/share/jenkins/ref/init.groovy.d/文件夹.该脚本应创建一个Jenkins 2.0 Pipeline作业,以便从SCM处理Jenkins文件.

我找不到2.0管道类的相关Javadoc或如何执行此操作的示例.

以前,使用Job DSL创建管道,我使用Groovy脚本创建一个带有ExecuteDslScripts构建器的FreeStyleProject.这项工作将成为Job DSL种子工作.

一种选择是使用init脚本创建Job DSL种子作业以创建Jenkins 2.0管道.它似乎不必要地复杂.

我正在试验这个回购:https://github.com/martinmosegaard/vigilant-sniffle

解决方法

如果只需要创建一个简单的管道作业,则可以使用Jenkins API.但是,这在创建一个简单的工作时才有效,对于复杂的设置,您需要一些像Job DSL这样的抽象.

从这里开始:http://javadoc.jenkins-ci.org/jenkins/model/Jenkins.html#createProject(java.lang.Class,%20java.lang.String).

例:

import jenkins.model.Jenkins
import org.jenkinsci.plugins.workflow.job.WorkflowJob

WorkflowJob job = Jenkins.instance.createProject(WorkflowJob,'my-pipeline')

然后你需要填写工作,例如设置流程定义.

或者你可以等待System Config DSL Plugin做好准备.但它尚未发布,我不确定它是否可以创造就业机会.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐