Estoy trabajando con un proyecto que está utilizando Jenkins para construir e implementar microservicios en Elastic Beanstalk. Implementamos una rama de integración en un entorno de prueba, lanzamos ramas en un entorno intermedio y luego una compilación maestra final para producción. Tengo un par de preocupaciones al hacerlo de esta manera: primero, significa que terminamos con una matriz de una construcción por proyecto por entorno, duplicando esfuerzos; y dos, significa que no estamos implementando los mismos artefactos de construcción para la producción que se validaron en la puesta en escena.
Me inclino a abandonar Beanstalk y pasar a ASG simples usando algo como Chef para implementaciones. Eso nos dejaría con una construcción por proyecto, produciendo un artefacto de construcción, y podríamos implementar el mismo artefacto en la producción que se aprobó en la puesta en escena. Sin embargo, la transición tiene un costo inicial no insignificante. ¿Hay alguna forma de usar Beanstalk mejor que permita un CI / CD más confiable y más fácil de administrar?
Nota : Promover el mismo artefacto de compilación es exactamente lo que quiero hacer, pero de los documentos no veo ninguna forma clara de hacerlo; explica cómo implementar en EB desde el origen de su aplicación, pero no cómo promocionar una versión existente a otro entorno, a menos que logré desplazarme más allá. Si está disponible en EB en sí, puede haber una limitación en el complemento de implementación EB de Jenkins que impide que se haga específicamente en Jenkins, pero no he visto una manera de hacerlo.