如果你不使用git,有没有办法部署到Elastic Beanstalk?

Dan*_*ell 4 command-line amazon-web-services sbt amazon-elastic-beanstalk

我正在开发一个Elastic Beanstalk应用程序.它是一个Scala Web应用程序,使用sbt.我想将生成的WAR从命令行部署到现有环境.

我只能找到ebCLI,它似乎要求你使用git:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-getting-started.html

难道没有办法简单地指定WAR和环境名称来执行部署吗?

除此之外,最好的解决方法是什么?我可以从命令行上传到S3,然后使用Web应用程序选择该文件,但它比我想要的更痛苦.

Edw*_*uel 9

您可以使用Elastic Beanstalk CLI(eb)而不是AWS CLI.只需运行eb create即可创建新环境并eb deploy更新您的环境.

您可以*.war通过配置EB CLI 来设置特定工件(您的文件)(阅读:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html#eb-cli3-artifact) :

您可以通过在项目文件夹中将以下行添加到.elasticbeanstalk/config.yml来告诉EB CLI部署您作为单独构建过程的一部分生成的ZIP或WAR文件.

deploy:   
  artifact: path/to/buildartifact.zip
Run Code Online (Sandbox Code Playgroud)


Dan*_*ell 5

我找到了一种方法 - 改用awsCLI。首先上传到 S3(我实际使用s3cmd)然后创建一个应用程序版本:

$ aws elasticbeanstalk create-application-version --application-name untaggeddb --version-label myLabel --source-bundle S3Bucket="bucketName",S3Key="key.war"
Run Code Online (Sandbox Code Playgroud)

我相信应用程序版本也可以update-environment使用awsCLI进行部署。