Art*_*hur 5 groovy jenkins jenkins-job-dsl
有人可以给我一个有用的链接,在那里我可以找到有关转换Jenkins作业的复杂 xml配置的信息吗?
这是一个Jenkins工作示例:
<project>
<actions/>
<description>Description</description>
<logRotator class="hudson.tasks.LogRotator">
<!-- ...-->
</logRotator>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.model.ParametersDefinitionProperty/><!-- ...-->
</properties>
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.5">
<scms>
<hudson.plugins.git.GitSCM plugin="git@2.4.0"/><!-- ...-->
<hudson.plugins.git.GitSCM plugin="git@2.4.0"/><!-- ...-->
</scms>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<jdk>Default</jdk>
<triggers>
<hudson.triggers.TimerTrigger/><!-- ...-->
</triggers>
<concurrentBuild>false</concurrentBuild>
<customWorkspace>$HUDSON_WD/$REVISION/checkout</customWorkspace>
<builders/>
<publishers>
<hudson.plugins.globalenvvar.GlobalEnvironmentVariablePublisher plugin="globalenvvar@1.0"/><!-- ...-->
<hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.28"/><!-- ...-->
<hudson.plugins.templateproject.ProxyPublisher plugin="template-project@1.5"/><!-- ...-->
</publishers>
<buildWrappers>
<hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.7.2"/>
</buildWrappers>
</project>
Run Code Online (Sandbox Code Playgroud)
Ste*_*ell 10
根据我的经验,这是一个完全手动的重写过程.参考资料位于https://jenkinsci.github.io/job-dsl-plugin/#.
xml中的许多元素都是默认的,因此可以跳过大部分xml.如果DSL不直接支持您已配置的插件的插件或功能,则只需要逐个元素地转换xml.
转换过程如下:
如果您不确定哪个插件提供了job元素,您通常可以在该元素的帮助文本中看到插件名称(单击小问号图标).否则,xml元素通常包含插件名称.
另外要知道的是,作业元素在DSL中以与在Jenkins的配置屏幕上相同的方式分解.因此,如果它是触发器,那么您可以在触发器的DSL中找到它.
简单的例子(我知道,你的事情要复杂得多):
freeStyleJob("Arthur's Example") {
description('Description')
logRotator(30)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6666 次 |
| 最近记录: |