Есть ли у организации конвейер для каждой среды или один конвейер CI/CD должен доставлять в dev, qa и prod?
Есть ли у организации конвейер для каждой среды или один конвейер CI/CD должен доставлять в dev, qa и prod?
Я пытаюсь понять, выгодно ли иметь непрерывный конвейер развертывания с jenkins, который доставляет в dev, тестирует его, если он передает, развертывает в производство.
2 ответа
ИМХО достаточно одного трубопровода.
Вы можете минимизировать проблемы среды, запустив один и тот же тест в 3 разных средах (dev, qa и prod).
Реализация Jenkins может состоять в том, чтобы иметь 3 разных задания для каждой среды, но всегда развертывать сборки и тесты по порядку, как проверено разработчиками -> qa проверено -> продукт
В идеале, если сборка релиза в prod 1.0.0, тогда qa должна иметь верхнюю сборку, то есть 1.0.1, а dev может иметь 1.0.2 и выше.
Правильный вопрос. Я видел и работал в средах с обоими. Ни лучше, ни выше. Это просто зависит от необходимости и SLA.
Если вам нужно разделение, например, вы хотите, чтобы разработчики имели полный контроль над средами разработки, но не над uat или prod, тогда несколько конвейеров становятся проще, чем выяснять, у кого есть доступ, чтобы протолкнуть что за какой этап.
Если у вас небольшая команда, и все всех знают, и вам не нужно ничего ограничивать, вы можете сделать один конвейер, а затем ограничивать его позже по мере его роста.