将 Grails 应用程序部署到 cloudfoundry 非常容易。现在我想将另一个应用程序推送到cloudfoundry。但是,第二个应用程序在与我的第一个应用程序完全相同的数据库中创建表。我知道它将并行运行,但是,我确实想将它们视为单独的实体,并且希望在两个数据库中运行这两个应用程序。请告诉我如何做到这一点。
最佳答案
我不确定您使用什么方法/插件/CLI 工具部署到 Cloud Foundry,但如果您使用 Cloud Foundry Integration插件,这可能有帮助。
我能够部署 2 个独立的应用程序,绑定(bind)到 2 个不同的 MySQL 服务实例。这里的关键信息是将服务“绑定(bind)”到您部署的应用程序。您可能已将两个应用程序绑定(bind)到一项服务。如果您使用 CFI 插件,请发出 cf-apps
,它将列出您的应用以及它们绑定(bind)到的服务
+-------------+----+---------+--------------------------+--------------------+
| Application | # | Health | URLs | Services |
+-------------+----+---------+--------------------------+--------------------+
| app1 | 1 | RUNNING | app1.cloudfoundry.com | mysql-3xxxxxx |
+-------------+----+---------+--------------------------+--------------------+
| app2 | 1 | RUNNING | app2.cloudfoundry.com | mysql-exxxxxx |
+-------------+----+---------+--------------------------+--------------------+
如果您的应用确实绑定(bind)到相同的服务,只需使用 CFI 插件执行以下操作
- 删除错误绑定(bind)的应用
- 发出您想要的 cf-create-service 服务
- 记下新创建的应用的服务名称
重新部署您的第二个应用并绑定(bind)到您刚刚创建的新服务
grails prod cf-push --services=your-new-service-name-xxxx
注意:部署时,CLI 工具可能会要求您选择性地绑定(bind)到其他服务(第一个应用程序的服务),但您不希望这样做,因此您需要做出适当的回答。我不确定为什么它会这样做,即使您已经明确地将
--services
参数传递给您想要的服务。
无论如何,这一切都在文档中,如果您没有使用 CFI 插件 - 恕我直言,您应该使用 - 这是非常棒的插件。
关于mysql - 如何将两个 grails 应用程序部署到独立数据库中的 cloudfoundry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16866238/