Beanstalk:使用新版本更新环境时出错

时间:2012-05-09 20:53:51

标签: ruby-on-rails amazon-ec2 amazon-web-services

我正在尝试将Ruby-on-Rails应用程序部署到AWS Beanstalk。使用Jenkins中的warble生成战争,然后将war文件复制到我们的AWS S3存储桶中。

我正在使用AWS Beanstalk命令行工具来创建beanstalk应用程序,应用程序版本和环境。第一个版本已正确部署。

然后我创建一个新的应用程序版本,并尝试使用新版本更新环境。新版本未部署。在事件中,抛出以下错误:

Encountered errors while attempting to deploy version to 1 running EC2 instances

我已尝试从头开始创建所有内容,但仍会抛出第二个版本以上错误。

注意:我们正在使用自定义AMI,这是我们调整并创建图像供我们使用的BS AMI。

有人可以帮帮我吗?

由于

Noman A。

1 个答案:

答案 0 :(得分:2)

我在测试的基础上回答这个问题,所以任何寻找解决方案的人都会发现它很有用。

正如问题所述,我使用的是自定义beanstalk ami [Tomcat 7堆栈]。按照以下步骤完成定制:

  1. 创建Beanstalk应用程序,为此应用程序创建一个版本,并通过传递KeyPair等选项启动beanstalk环境(未自定义,默认为AWS提供),以便您可以使用相同的方法将ssh引入实例。 / p>

  2. 请注意上述实例的AMI-id并启动此AMI的常规EC2(Not Beanstalk)实例。

  3. 根据需要定制EC2实例,并在完成后创建此实例的EBS图像。停止此实例,您可以在对图像感到满意后终止它。

  4. 也终止Beanstalk实例。

  5. 启动新的Beanstalk环境,但这次会传递在步骤3中创建的图像的ami-id。

  6. 我已经为tomcat 6和7创建了自定义beanstalk映像。对于我的问题,我发现当我使用tomcat 7的自定义ami时问题就出现了。更新只是不起作用。但是当我使用beanstalk默认实例(不是我的自定义图像)时,更新工作正常。

    但是,使用tomcat 6自定义图像,更新工作正常。因此,问题似乎是针对Tomcat 7自定义的AWS Beanstalk默认AMI。

    我现在正在回答这个问题。

    -Noman A。