这里是其中的一些:
- 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