Передовой опыт непрерывной интеграции и развертывания

В мою команду только что интегрировали концепцию непрерывной интеграции.

Предположим, у нас есть ветка интеграции с именем Dev .

На его основе получены 3 ветви, по одной для каждого конкретного текущего проекта:

  • Проект A
  • Проект B
  • Проект C

Во-первых, Teamcity настроен на выделенный сервер, и его цели:

Компилирует и запускает модульные и интеграционные тесты из источников с версией из каждой ветви, включая Dev

Затем, конечно, каждая ветвь проекта (A, B и C) должна быть протестирована в клонированной производственной среде. среды, чтобы можно было проводить UAT.

Но мне интересно, на какой частоте мы должны развернуться? Каждый раз при изменении исходного кода?

Должны ли мы развертывать только Dev, который содержит смесь трех проектов после слияния каждого из них (в соответствии с реальностью в следующем производственном выпуске), или 3 проекта независимо?

Если Dev развернут , потенциально будущие изменения на Dev не должны приниматься во внимание. Верно, может начаться новый проект под названием Project D , и он не должен быть частью следующего выпуска. Таким образом, использование Dev для интеграции (UAT) сопряжено с риском, потому что разработчик может непроизвольно интегрировать контент Project D, и поэтому среда не раскроет реальность следующего выпуска.

Другое решение: мы берем не Dev, а 3 проекта по отдельности, поэтому должны ли быть 3 клонированных производственной среды параллельно?

Если да, то UAT не может быть надежным, поскольку поведение среды интеграции может очень часто меняться ...

Мне непонятна концепция непрерывного развертывания UAT ...

23
задан Roman C 20 March 2016 в 07:25
поделиться