我正在开发一个Elastic Beanstalk应用程序。它是一个使用sbt
构建的Scala Web应用程序。我想将生成的WAR从命令行部署到现有环境。
我所能找到的只是eb
CLI,它似乎要求您使用git:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-getting-started.html
是否没有办法简单地指定WAR和环境名称来执行部署?
除此之外,最好的解决方法是什么?我可以从命令行上传到S3,然后使用网络应用程序选择该文件,但它比我想要的更痛苦。
答案 0 :(得分:9)
您可以使用Elastic Beanstalk CLI (eb
)代替AWS CLI。只需运行eb create
即可创建新环境,并eb deploy
更新您的环境。
您可以通过配置EB CLI(读取:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html#eb-cli3-artifact)来设置特定工件(您的*.war
文件):
您可以告诉EB CLI部署您生成的ZIP或WAR文件 作为单独构建过程的一部分,通过添加以下行 项目文件夹中的.elasticbeanstalk / config.yml。
deploy: artifact: path/to/buildartifact.zip
答案 1 :(得分:3)
我找到了一种方法 - 改用aws
CLI。首先上传到S3(我实际使用s3cmd
)然后创建一个应用程序版本:
$ aws elasticbeanstalk create-application-version --application-name untaggeddb --version-label myLabel --source-bundle S3Bucket="bucketName",S3Key="key.war"
我相信可以使用update-environment
CLI在aws
部署应用程序版本。