如何在单独的数据库中将两个grails应用程序部署到cloudfoundry

时间:2013-05-31 21:25:11

标签: mysql grails cloudfoundry

将grails应用程序部署到cloudfoundry非常简单。现在我想将另一个应用推向cloudfoundry。但是,第二个应用程序在与我的第一个应用程序完全相同的数据库中创建表。我知道它会并排运行,但是,我确实希望将它们视为单独的实体,并希望在两个数据库中运行这两个应用程序。请告诉我如何做到这一点。

1 个答案:

答案 0 :(得分:0)

我不确定您使用哪种方法/插件/ CLI工具来部署到Cloud Foundry,但如果您使用的是Cloud Foundry Integration插件,这可能会有所帮助。

我能够部署绑定到2个不同MySQL服务实例的2个独立应用程序。这里的关键信息是服务与已部署应用程序的“绑定”。您可能已将应用程序绑定到一项服务。如果您使用的是CFI插件,请发出cf-apps,它会列出您的应用以及他们绑定的服务

+-------------+----+---------+--------------------------+--------------------+
| Application | #  | Health  | URLs                     | Services           |
+-------------+----+---------+--------------------------+--------------------+
| app1        | 1  | RUNNING | app1.cloudfoundry.com    | mysql-3xxxxxx      |
+-------------+----+---------+--------------------------+--------------------+
| app2        | 1  | RUNNING | app2.cloudfoundry.com    | mysql-exxxxxx      |
+-------------+----+---------+--------------------------+--------------------+

如果您的应用确实绑定到同一服务,请使用CFI插件执行以下操作

  • 删除错误绑定的应用
  • 发出cf-create-service service-you-want
  • 记下新创建的应用的服务名称
  • 重新部署您的第二个应用并绑定到刚刚创建的新服务

    grails prod cf-push --services=your-new-service-name-xxxx

    注意:部署时,CLI工具可能会要求您选择绑定到您不需要的其他服务(第一个应用程序的服务),因此您需要适当地回答。即使你明确地将--services参数传递给你想要的服务,我也不确定为什么会这样做。

无论如何,它都在文档中,如果你没有使用CFI插件 - 恕我直言,你应该 - 这是非常棒的插件。