我对Jenkins(使用Job DSL插件)下的时髦语言不熟悉,并且试图理解另一个人编写的旧脚本,我无法弄清楚第3行发生了什么。请:
<listener>
<listener-class>ch.qos.logback.classic.selector.servlet.ContextDetachingSCL</listener-class>
</listener>
答案 0 :(得分:1)
这是詹金斯(Jenkins)工作DSL脚本,而不是管道作为代码。他的脚本是生成XML代码段,该代码段将作为作业的config.xml的一部分。
假设您有一份工作:测试,并且其URL为https://myjenkins.abc.com/Dev/test,则可以打开以下URL:https://myjenkins.abc.com/Dev/test/config.xml以获取工作的config.xml。
这是一个从作业DSL:http://job-dsl.herokuapp.com/生成Jenkins作业XML的工具,通过它您可以预先检查DSL脚本是否正确。
将DSL下面的内容复制到工具的左侧文本框中。
job('test') {
configure { project ->
def properties = project / 'properties'
def mantisProject = properties / 'hudson.plugins.mantis.MantisProjectProperty' {
siteName(MANTIS_URL)
projectId('1')
category('General')
pattern('"[%ID%]"')
linkEnabled('true')
regex("[^0-9]?([0-9]?[0-9]?[0-9][0-9][0-9][0-9][0-9])[^0-9]?[^0-9]+.*")
regexpPattern {
pattern("[^0-9]?([0-9]?[0-9]?[0-9][0-9][0-9][0-9][0-9])[^0-9]?[^0-9]+.*")
flags(0)
}
}
}
}
点击运行,您将获得相应的XML:
<project>
<actions></actions>
<description></description>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.plugins.mantis.MantisProjectProperty>
<siteName>MANTIS_URL</siteName>
<projectId>1</projectId>
<category>General</category>
<pattern>"[%ID%]"</pattern>
<linkEnabled>true</linkEnabled>
<regex>[^0-9]?([0-9]?[0-9]?[0-9][0-9][0-9][0-9][0-9])[^0-9]?[^0-9]+.*</regex>
<regexpPattern>
<pattern>[^0-9]?([0-9]?[0-9]?[0-9][0-9][0-9][0-9][0-9])[^0-9]?[^0-9]+.*</pattern>
<flags>0</flags>
</regexpPattern>
</hudson.plugins.mantis.MantisProjectProperty>
</properties>
<scm class='hudson.scm.NullSCM'></scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers></triggers>
<concurrentBuild>false</concurrentBuild>
<builders></builders>
<publishers></publishers>
<buildWrappers></buildWrappers>
</project>
的更多详细信息