Я работаю с проектом, который использует Jenkins для создания и развертывания микросервисов в Elastic Beanstalk. Мы разворачиваем ветвь интеграции в тестовой среде, выпускаем ветки в промежуточную среду, а затем производим окончательную сборку. У меня есть пара проблем с этим: во-первых, это означает, что мы получаем матрицу по одной сборке на проект на среду, дублирующую усилия; и во-вторых, это означает, что мы не внедряем в производство те же артефакты сборки, которые были проверены при подготовке.
Я склонен отказаться от Beanstalk и перейти к обычным ASG, используя что-то вроде Chef для развертываний. В результате у нас останется одна сборка на проект, создающий артефакт сборки, и мы сможем развернуть тот же артефакт для производства, который был одобрен при постановке. Однако переход имеет немалые первоначальные затраты. Есть ли способ лучше использовать Beanstalk, который позволил бы создать более надежный и простой в управлении CI / CD?
Примечание : продвижение того же артефакта сборки - это именно то, что я хочу сделать, но из документов я не вижу четкого способа сделать это; в нем объясняется, как выполнить развертывание в EB из источника приложения, а не как продвигать существующую версию в другую среду, если только мне не удалось прокрутить ее сразу. Если он доступен в самом EB, возможно, в плагине развертывания Jenkins EB есть ограничение, которое не позволяет делать это специально в Jenkins, но я вообще не видел способа сделать это.