2013-07-03 5 views
7

Как люди настраивают свои конфигурации сборки при использовании Git и Git-flow? У меня есть несколько задач, я хочу закончить:Конфигурации сборки для потока Git

  • Commit - компилировать, запускать статический анализ кода, модульное тестирование, пакет
  • Integration Test - запустить тесты интеграции
  • Deploy, чтобы проверить - развернуть приложение к испытанию среда
  • функционального тестирования - бегите от конца до конца функциональных тестов
  • Deploy для QA - ручные тянуть в среду QA, который запускает тесты дымовых

С мастером, разрабатывайте, выпускайте ветви функций. Мне любопытно, как люди отображают их в процессы сборки.

ответ

2

В настоящее время мы имеем

  • CI Сборка
    • Версия VCS Root имеет спецификацию филиальную что я ncludes развиваться, функция/*, выпуск/*, исправление/* и мастер
    • ВКС совершить триггер для всех ветвей
    • Прицепные функция запроса сборки ветви и ссылку строить результаты и утвердить
    • мастер автоустановки -> развивать
  • заметки о выпуске построить
    • снимок на CI Сборка
    • Формирует примечания к выпуску из фиксаций и фиксирует это
  • Deploy Деву Построить
    • Снимок на CI Сборка
    • по расписанию развернуть два раза в день
    • только развивать отрасль развертывается
  • Deploy на ЕСХН Построить
    • Ручной шаг
    • Снимок на CI Сборка
    • только выпуск/*, исправление/* или мастер может быть развернут на UAT
  • Развертывание подталкивать
    • Ручной шаг
    • моментальный снимок на Deploy к UAT Build
    • Здесь может быть развернут только мастер (когда выпуск или hoftix закрыт, мастер должен быть развернут в UAT для тестирования дыма)

Teamcity автоматическое слияние не допускает подстановочные знаки, поэтому мы работаем над нашим собственным способом, чтобы ветви в синхронизации

  • мастера -> разработки, выпуск/*, исправление/*
  • develop -> feature/*
+0

Мне нравится процесс, который вы объяснили в своем ответе. Единственная часть, которую я не понимаю, - это «Развертывание сборки UAT» при автоматическом объединении master -> develop.Зачем мне это делать, если сборка была сделана из ветви релиза или исправления? Не хотите ли вы использовать исправление/выпуск Gitflow для завершения, когда «Deploy to Prod» завершено, чтобы убедиться, что производство синхронизировано с ведущей ветвью? –

+0

@AliB спасибо, что находится в неправильном месте. На самом деле это часть сборки CI для главной ветви, то есть когда исправление или релиз закрыты и объединены. Я обновил свой ответ – JonSquared

+0

@JohSquared, я все еще думаю, что вам нужно объединить мастер, чтобы развиваться, когда вы находитесь в Deploy to Prod Build config. главная ветвь должна быть зеркальным кодом того, что у вас есть на производстве, и если вы объедините его раньше, ваша главная ветвь и Prod перестанут синхронизироваться. Создание исправлений становится проблемой, когда вам это нужно. –

Смежные вопросы