这里是其中的一些:
- http://hudson.jboss.org/hudson/view/JBossTools/view/JBossTools_Trunk/
- http://hudson.jboss.org/hudson/view/JBossTools/view/JBossTools_3.3.indigo
- http://hudson.jboss.org/hudson/view/JBossTools/view/JBossTools_3.2.helios
为了提高性能,我们在父pom中使用maven配置文件,以允许在奴隶的工作空间之外共享数据,而无需使用共享的工作空间(因为当多个maven进程尝试写入同一.m2存储库时,这可能导致冲突) 。 这是一个例子:
<!-- same contents as jbosstools-nightly-staging-composite, but locally available (to improve network lag) --><profile><id>local.composite</id><activation><activeByDefault>false</activeByDefault></activation><repositories><repository><id>local.composite</id><url>${local.composite}</url><layout>p2</layout><snapshots><enabled>true</enabled></snapshots><releases><enabled>true</enabled></releases></repository></repositories></profile>
在为功能和插件设置带时间戳的限定词时,我们还使用配置文件来打开代码覆盖率分析或利用Jenkins变量(如BUILD_NUMBER):
<profile><id>hudson</id><activation><property><name>BUILD_NUMBER</name></property></activation><properties><local.site>file:///home/hudson/static_build_env/jbds/target-platform_3.3.indigo.SR2/e372M-wtp332M.target/</local.site></properties><build><plugins><plugin><groupId>org.eclipse.tycho</groupId><artifactId>tycho-packaging-plugin</artifactId><version>${tychoVersion}</version><configuration><format>'v'yyyyMMdd-HHmm'-H${BUILD_NUMBER}-${BUILD_ALIAS}'</format><archiveSite>true</archiveSite></configuration></plugin></plugins></build></profile>
但是,您如何处理数百个作业的配置文件,又如何在浏览器内无数小时单击的情况下轻松地全部更新它们? 我们离线维护作业配置文件(config.xml) 。
为此,我们使用我编写的Maven插件来获取与给定视图和正则表达式匹配的作业,并使用与服务器上相同的结构将它们本地存储在磁盘上。
然后,在对一个(或全部)文件进行更改之后,可以使用相同的插件将config.xml文件推回服务器。
为了进行额外的审核,我们还将这些本地缓存的config.xml文件提交给SVN,以便我们跟踪其历史记录。 诚然,Jenkins本身提供了此功能,但是当您将更改发布到config.xml文件时,服务器并不总是会注意到更改并记录增量,因此拥有备份(尤其是可以离线比较的文件)绝不是一个坏主意。
参考: DivByZero博客上的JCG合作伙伴 Nick Boldt 管理Jenkins作业配置 。
翻译自: https://www.javacodegeeks.com/2012/06/managing-jenkins-job-configurations.html