Je travaille avec un projet qui utilise Jenkins pour créer et déployer des microservices sur Elastic Beanstalk. Nous déployons une branche d'intégration dans un environnement de test, libérons des branches dans un environnement intermédiaire, puis une version finale du master en production. J'ai quelques inquiétudes à faire de cette façon: premièrement, cela signifie que nous nous retrouvons avec une matrice d'une construction par projet et par environnement, en dupliquant les efforts; et deuxièmement, cela signifie que nous ne déployons pas les mêmes artefacts de génération en production qui ont été validés lors de la préparation.
Je suis enclin à abandonner Beanstalk et à passer à des ASG simples en utilisant quelque chose comme Chef pour les déploiements. Cela nous laisserait une génération par projet, produisant un artefact de génération, et nous pourrions déployer le même artefact en production qui a été approuvé dans la mise en scène. La transition a cependant un coût initial non négligeable. Existe-t-il un moyen d'utiliser mieux Beanstalk qui permettrait un CI / CD plus fiable et plus facile à gérer?
Remarque : La promotion du même artefact de construction est exactement ce que je veux faire, mais d'après les documents, je ne vois aucun moyen clair de le faire; il explique comment déployer sur EB à partir de la source de votre application, mais pas comment promouvoir une version existante dans un autre environnement, sauf si j'ai réussi à la faire défiler à droite. S'il est disponible dans EB lui-même, il peut y avoir une limitation dans le plugin de déploiement Jenkins EB qui l'empêche de se faire spécifiquement dans Jenkins, mais je n'ai pas vu de moyen de le faire du tout.