Как настроить TeamCity для поддержки модели GitHub pull-request для интеграции исходного кода?

мы используем TeamCity и GitHub Enterprise. Мы используем рабочий процесс с открытым исходным кодом с git: есть mainline репозиторий для каждого компонента, и когда люди хотят внести изменения, они

  • вилки mainline на свой счет (так что может быть много вилок)
  • создайте ветку в их вилке
  • выполнить изменение
  • обновите mainline/master для изменений, которые произошли в то же время
  • отправить запрос тянуть из fork/feature-branch ->mainline/master

мы очень довольны этим рабочим процессом; он заставляет код-обзор (ну, по крайней мере, ручной шаг, который, надеюсь,включает в себя фактически чтение кода и запуск его тестов), прежде чем mainline увидит какие-либо изменения, что исторически было проблемой. Мы хотели бы использовать API статуса GH (блоге, API doc), чтобы включить кнопку слияния не зеленый, если автор является человеком, смотрящим на запрос pull, но это на потом.

у нас есть TeamCity 7.1, настроенный для просмотра репозиториев основной линии и сборки, когда изменения видны. Однако, как это в настоящее время настроено, CI только строит, когда он видит изменения в mainline/master.

как мы должны настроить наши корни VCS в TeamCity так, чтобы у нас был тот же рабочий процесс, но CI запустит сборку на основе ветвей в вилках РЕПО магистрали? желательно без регистрации каждой вилки индивидуально?

Я прочитал документацию по функциям TeamCity 7.1 (блоге, заметки, документация), но я не вижу, как применить его к нашей модели произвольного числа вилок, в отличие от всех-коммитов-к-основной-в-функции-ветвям.

2 ответов


вы можете контролировать pull-запросы teamcity: http://blog.jetbrains.com/teamcity/2013/02/automatically-building-pull-requests-from-github-with-teamcity/


насколько мне известно, TeamCity не будет" искать " ваши вилки github любым автоматизированным способом.

Я бы решил это, создав корень vcs для каждого разветвленного РЕПО разработчика и РЕПО основной линии. Затем прикрепите каждый из этих корней к конструкции. Docs.

к сожалению, это ручной процесс. Один раз на разработчика, на компонент РЕПО. Если бы я действительно хотел автоматизировать это, я бы посмотрел на комбинацию Гитхаб Крючки и добавить корни vcs через Api REST TeamCity.