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

时间:2015-11-20 11:09:08

标签: amazon-web-services command-line sbt elastic-beanstalk

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

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

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

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

2 个答案:

答案 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部署应用程序版本。