我有一个通过Web UI手动设置的Java Elastic Beanstalk实例。
我可以随时通过UI手动将更新的JAR上传到它。
如何通过AWS CLI 2完成相同的工作?
我使用Maven构建我的JAR。
mvn clean install
这将my-app.jar
在./target
目录中生成JAR 。
然后,我执行以下操作
export version=1.0-`date +"%Y%m%d-%H%M%S"`
这是我将在整个过程中使用的环境变量。
步骤1.将JAR上载到S3存储桶
aws s3 cp ./target/my-app.jar s3://my-app.foo.bar/my-app-${version}.jar
步骤2.在Elastic Beanstalk中创建应用程序的版本。
这引用了在步骤1中上传到S3的JAR。
aws elasticbeanstalk create-application-version \
--application-name my-app \
--version-label ${version} \
--source-bundle S3Bucket="my-app.foo.bar",S3Key="my-app-${version}.jar"
步骤3.在Elastic Beanstalk中部署版本
aws elasticbeanstalk update-environment \
--application-name my-app \
--environment-name MyApp-env \
--version-label ${version}
这里要注意的关键点是:
a)您不部署JAR。您部署一个版本。版本指向JAR。这与您通过UI所做的操作(所看到的)不同(在UI中,您仅上传JAR并对其进行了部署)。
b)source-bundle
版本号指向JAR。是的,尽管在Java世界中,“源”一词意味着某些东西,而JAR不是源,在Elastic Beanstalk世界中,“源”是您的可执行代码
c)版本指向的JAR必须在S3中。那就是您上传JAR的地方。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句