Вот некоторые из них:
- 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
Чтобы повысить производительность, мы используем профили maven в нашем родительском модуле, чтобы разрешить общий доступ к данным за пределами рабочих областей подчиненных, без использования общих рабочих областей (поскольку это может привести к конфликтам, когда несколько процессов maven пытаются выполнить запись в один репозиторий .m2). , Вот пример:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
|
<!-- 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 > |
Мы также используем профили для включения анализа покрытия кода или для использования переменных Дженкинса, таких как BUILD_NUMBER, при установке квалификатора с метками времени для функций и плагинов:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
< 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, сервер не всегда замечает изменение и записывает дельту, поэтому резервное копирование (особенно такое, которое вы можете преобразовать в автономном режиме) никогда не является плохой идеей. ,
Ссылка: Управление конфигурациями заданий Jenkins от нашего партнера JCG Ника Болдта в блоге DivByZero .