У меня есть ситуация, когда цепочка Java-проектов в SVN должна быть построена для непрерывной интеграции. Проекты могут существовать в нескольких филиалах, и я хочу выполнить сборку CI для всех из них. Тем не менее, я бы предпочел не иметь другого проекта Jenkins для каждой комбинации проектов Java/SVN. Я сделал, чтобы создать проекты Jenkins, которые принимают ветвь SVN в качестве параметра, и настроить цепочку зависимостей проекта, передав параметр ветвления. (Я использую Ivy для этого проекта, а не Maven, поэтому у меня нет плагина, чтобы сделать это для меня.) Я установил задание для запуска цепочки для каждой ветви, которая определяет параметр ветвления и запускается автоматически несколько раз в день ,Опрос многих проектов SVN в одном задании Jenkins CI
PROS: Это позволяет мне создать единственный проект запуска Jenkins для каждой ветки, а не целую цепочку проектов.
CONS: Построение происходит по расписанию, а не в результате опроса SVN. Это означает, что все ветви построены несколько раз в день, даже если в этой ветке изменений не было.
То, что я хотел бы добиться в идеале, - это периодически проводить опрос проекта ВСЕ проекты в цепочке и строить цепочку, если есть какие-либо изменения. Есть ли способ сделать это? Было бы так же просто, как указать все местоположения проекта в проекте kickoff (используя параметр ветвления), а затем указать опрос как триггер сборки?
Если у вас есть доступ к SVN, вы можете настроить перехват Post Commit, который заставит SVN предоставить всю информацию, такую как ветка, на которой выполняется фиксация получилось. Затем вы можете использовать его для выполнения задания. http://stackoverflow.com/questions/12794568/how-to-configure-git-post-commit-hook – NotAgain
К сожалению, у меня нет доступа к серверу Jenkins в этой корпоративной среде, чтобы настроить поддержку post commit крюк. В любом случае, спасибо за хорошее предложение. – cneff