使用 AWS Elastic Beanstalk 部署 rails 应用程序时管理迁移

Posted

技术标签:

【中文标题】使用 AWS Elastic Beanstalk 部署 rails 应用程序时管理迁移【英文标题】:manage migrations when deploy rails app with AWS Elastic Beanstalk 【发布时间】:2013-02-20 06:08:08 【问题描述】:

AWS Elastic Beanstalk 易于用于在 Amazon EC2 上部署 rails 应用程序。通过将 RAILS_SKIP_MIGRATIONS 设置为 true,eb 将不会自行运行迁移,因此我可以自己管理迁移。

但是,通过 SSH 连接到 Beanstalk 创建的 EC2 实例,我在主目录中找不到部署的 rails 应用程序。然后我不知道在哪里手动 rake 迁移。

我想知道为什么在 EC2 实例上找不到 rails 应用程序,因为该实例是托管应用程序的 Web 服务器。它隐藏在某个地方吗?我应该如何手动 rake 迁移?

谢谢

【问题讨论】:

【参考方案1】:

试试看/var/app/current

【讨论】:

如果没有部署成功,它也可能在/var/app/ondeck【参考方案2】:

我认为你找不到 rake,因为弹性 beanstalk 在虚拟环境 - rvm 中运行 ruby​​ 环境。尝试在为当前终端设置 ruby​​ 环境的目录 /opt 环境变量中查找。我不确定 ruby​​,但对于 python,你应该这样做:source /opt/python/current/env。

【讨论】:

以上是关于使用 AWS Elastic Beanstalk 部署 rails 应用程序时管理迁移的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk 上禁止使用 Django 403

AWS Elastic Beanstalk

使用 AWS CodeBuild 和 EB CLI 部署到 AWS Elastic Beanstalk

Elastic Beanstalk (AWS) 的休眠配置

如何使用 Elastic beanstalk 和 Dockerrun.aws.json 正确部署到 AWS?

AWS 和 Elastic Beanstalk