No quiero usar la consola. Sin procesos manuales. Necesito una versión de línea de comandos, algo que pueda codificar en mis scripts de implementación continua.
Como parte del proceso de compilación, puedo generar un archivo ZIP (ya sea en mi máquina local o en un proceso de CI, por ejemplo, a través de canalizaciones de bitbucket o una instancia de VM de AWS codedeploy).
Quiero un comando como:
aws eb deploy my-app ./server.zip
Es decir, primero cargue mi archivo zip elegido y luego impleméntelo (no tiene que ser un comando).
La eb deploy no parece admitir esto, ni he podido encontrar ningún otro método para hacerlo.
Cualquier idea sería muy apreciada :)
No creo que eb CLI admita cargar un ZIP y actualizar un entorno, pero puede usar una combinación de comandos de AWS CLI.
Ejemplo,
aws s3 cp deploy.zip s3://mybucket/deploy.zip aws elasticbeanstalk create-application-version --application-name my-app --version-label 12345 --source-bundle S3Bucket="mybucket",S3Key="deploy.zip" aws elasticbeanstalk update-environment --application-name my-app --environment-name MyApp-env --version-label 12345Estaba buscando esta respuesta también. Pude encontrar documentación de AWS que le permite usar la configuración de la CLI de Elastic Beanstalk para cargar el archivo zip.
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html#eb-cli3-artifact
Implementación de un artefacto en lugar de la carpeta del proyecto
Puede indicarle a la CLI de EB que implemente un archivo ZIP o WAR que genere como parte de un proceso de compilación independiente agregando las siguientes líneas a
.elasticbeanstalk/config.ymlen la carpeta de su proyecto.deploy: artifact: path/to/buildartifact.zipSi configuras la CLI de EB en tu repositorio de Git, y no confirmas el artefacto en la fuente, usa la opción
--stagedpara implementar la última compilación.~/eb$ eb deploy --staged
¡Lo probé y funcionó para mí!