使用 cloudfoundry/IBM Bluemix 从 manifest.yml 创建服务

Create services out of manifest.yml using cloudfoundry/IBM Bluemix

cloudfounry manifest.yml 是表达应用程序部署模型的一种非常强大的方式。如果也可以按照 manifest.yml.

中指定的方式创建服务,那就太好了

请考虑以下内容manifest.yml

---
applications:
- name:  MQL.sample.node.backend
  disk: 1024M
  command: node app.js
  path: mqlight_sample_backend_node
  memory: 256M
  instances: 2
  no-route: true
  services:
  - MQLight-sampleservice
- name:  MQL.sample.node.frontend
  disk: 1024M
  command: node app.js
  path: mqlight_sample_frontend_node
  memory: 512M
  host: mqlightsample-node-${random-word}
  services:
  - MQLight-sampleservice

此文件描述了 2 个应用程序的 3 个实例,都绑定到 MQLight-sampleservice,但此服务之前必须存在。

我可以使用 cloudfoudry 命令行工具轻松创建此服务

cf create-service MQLight-sampleservice MQLight

但我想将所有内容都放在一个文件中,这可能吗?

我不知道在 cf push 期间是否可行,但您可以在部署期间使用 部署到 Bluemix 按钮创建服务。这将使用 git 存储库并在 bluemix 中部署一个应用程序,创建您在 manifest.yml 中指定的服务。

manifest.yml文件中您需要在指定applications之前指定您需要的服务。

---
declared-services:
  personality-insights-service-standard:
    label: personality_insights
    plan: standard

applications:
- name: personality-insights-nodejs
  command: node app.js
  path: .
  memory: 256M
  services:
  - personality-insights-service-standard

请参阅部署到 bluemix 文档 here

当前的 cloud foundry cli v6 目前无法使用。有一个为此功能打开的工作项:https://www.pivotaltracker.com/n/projects/892938/stories/65262468

同时,我建议创建一个脚本:

createServiceAndPush.sh

cf cs mysql 100 mymysqldb
cf push