Извлечение кода проекта из разных репозиториев - PullRequest
0 голосов
/ 12 июля 2009

мы хотим использовать Hudson для нашего CI, но наш проект состоит из кода, поступающего из другого хранилища. Например: - org.sourceforce ... должен быть проверен с http: / sv / n / rep1. - org.python .... следует проверить по адресу http: / sv / n / rep2. - com.company.product следует проверить по адресу http: /sv/n/rep3.

сейчас мы используем ant-скрипт с целью get.all, который извлекает / обновляет код из разных респ.

Таким образом, я могу создать задание, которое позволит Хадсону вызывать нашу цель get.all, чтобы получить весь исходный код и вызвать вторую цель, чтобы собрать все. Но как в таком случае следить за изменениями в 3 репозиториях?

Я думаю, что я не мог бы просто назначить какой-либо репозиторий в конфигурации задания и запланировать задание для fethc / build через регулярный промежуток времени, но я чувствую, что упущу идею CI, если сборка не может быть триггер от изменения коммита / репозитория.

что было бы лучшим способом сделать? Есть ли способ настроить зависимости проекта в Hudson?

Ответы [ 2 ]

1 голос
/ 12 июля 2009

Я не слишком ткнул во внутренности нашей установки Hudson, но в разделе «Управление исходным кодом» есть кнопка «Добавить дополнительные местоположения ...» (если это не по умолчанию Конфигурация коробки, дайте мне знать, и я буду копать глубже).

Для большинства наших сборок Hudson требуется как минимум дюжина различных репозиториев SVN, и Hudson контролирует их все автоматически. Затем у нас есть шаги сборки, вызывающие ant в правильном порядке для построения зависимостей.

0 голосов
/ 12 июля 2009

Я предполагаю, что вы используете Subversion. Если нет, то, пожалуйста, игнорируйте.

Subversion, по крайней мере, его более новая версия, поддерживает концепцию под названием «Внешние».

Внешнее - это API, альтернативный проект, зависимость или еще что-то, что не находится в вашем репозитории проекта.

см http://svnbook.red -bean.com / ен / 1,1 / ch07s04.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...