Подтвердить что ты не робот

Запустить CI build на слияние запроса на загрузку в TeamCity

У меня есть сборка CI, которая настраивается в TeamCity, которая будет срабатывать, когда в BitBucket (git) будет сделан запрос на pull. В настоящее время он строит против ветки источника запроса на растяжение, но было бы более значимым, если бы он мог создать объединенный запрос pull.

Мое исследование оставило меня со следующими возможными решениями:

  • Script выполняется как часть сборки - скорее не делайте этого, если это возможно
  • Плагин сервера/агента - не найдено достаточной документации, чтобы выяснить, возможно ли это.

Кто-нибудь сделал это раньше в TeamCity или у вас есть предложения о том, как я могу это достичь?

Обновление: (на основании ответа Джона Хоерра)

Альтернативное решение - забудьте о TeamCity, выполняющем слияние, используйте веб-крючки BitBucket для создания объединенной ветки, например, github, и следуйте за ответом Джона Хоерра.

4b9b3361

Ответ 2

Мне кажется, что функциональность, которую вы ищете, предоставляется с помощью функции "Удаленный запуск" TeamCity. Это в основном личная сборка с объединенными источниками и целевой слиянием.

https://confluence.jetbrains.com/display/TCD8/Branch+Remote+Run+Trigger

"Эти ветки являются регулярными ветвями управления версиями, а TeamCity не управляет ими (т.е. если вам больше не нужна ветка, вам нужно будет удалить ветвь с использованием средств управления обычной версией).

По умолчанию TeamCity запускает личную сборку для пользователя, обнаруженного в последнем фиксации ветки. Вы также можете указать пользователя TeamCity во имя ветки. Для этого используйте заполнитель TEAMCITY_USERNAME в шаблоне и имя пользователя TeamCity в имени ветки, например, шаблон remote-run/TEAMCITY_USERNAME/* будет соответствовать удаленной работе ветки /joe/my _feature и начать личную сборку для TeamCity user joe (если такой пользователь существует).

Затем настройте пользовательский "Pull Request Created" Webhook в Bitbucket.

https://confluence.atlassian.com/display/BITBUCKET/Tutorial%3A+Create+and+Trigger+a+Webhook

Итак, для вашего конкретного случая использования с интеграцией BitBucket вы можете использовать созданный вами WebHook, а затем иметь оболочку / bash script (в зависимости от вашей операционной системы TeamCity Server), которая запускает команды удаленного запуска git автоматически, что, в свою очередь, автоматически инициирует сборку Team City Remote Run CI на вашем сервере. Затем вы сможете перейти в ветку TeamCity UI, + HEAD: remote-run/my_feature и просмотреть результаты удаленного запуска на основе каждой функции и быть уверенными в результатах сборки кода, с которым вы сливаетесь основная строка кода.

Ответ 3

Кажется, что BitBucket/Stash создает ветки для запросов на растяжение в:

refs/pull-requests//from

Вы должны иметь возможность настроить удаленный запуск для этого местоположения либо с помощью функции запуска от ветки Teamcity, либо с помощью крюка HTTP post get в BitBucket/Stash.