2015-10-16 7 views
1

Я хочу создать промежуточный сервер, где каждый разработчик будет иметь свой собственный контейнер докеров, на котором запущено приложение, и Jenkins.Соедините много серверов Jenkins с различными ветвями одного и того же github repo

Я хочу, чтобы каждый из них мог связать свою ветку github с его сервером jenkins с плагином github для jenkins и создать автоматизированный конвейер сборки. Но каждый филиал будет находиться в одном и том же корпоративном частном репозитории.

Нажмите код из IDE -> Код идет на Github -> Github толкает Дженкинс (в контейнере) -> Дженкинс строит новый код (в контейнере) -> тестер подключается к контейнеру и пролистывать приложение ветку

I сделали 2 контейнера каждый с сервером jenkins. Один из них связан с главной ветвью, а другой - с ветвью 1 того же репо. Но каждое репо позволяет только одну реализацию плагина github для jenkins. Установка одного нового репо для каждой ветки кажется глупым и расточительным.

Лучшим сценарием для случая было бы подключить многие серверы jenkins с одним и тем же репо, но на разных портах, указав разные ветви.

Возможно ли это как можно?

ответ

0

Если эти контейнеры для докеров могут монтировать один и тот же контейнер данных с репозиторией git, это означает, что они могут проверять различные ветки на репо.

Для этого им необходимо a recent git (2.5+) и использовать новую команду git worktree add.
Тогда эти контейнеры будут работать в рабочей цепочке, установленной на другую ветвь на контейнер, но все указывают на одно и то же репо.

+0

VonC на помощь ... снова! :] Итак, у Git есть решение для этого. Не могли бы вы дать простой пример, чтобы лучше понять его (хотя я буду погружаться в него в ближайшие дни)? Как это лучше всего настроить для автоматизации? Как в него вписывается Гитуб? Как он будет использоваться разработчиком с новой веткой? Благодаря! –

+0

@KostasDemiris GitHub - это служба репо-хостинга, поэтому он не подходит, если не предлагать клонирование. После клонирования репо может быть проверено на несколько дереве работ. Это означает, что контейнер-докер может быть создан для запуска git worktree add [] ', получая новое рабочее дерево для одного и того же репо. – VonC