我有以下manifest.yml
文件,用于将 WAR 文件部署到基于 Cloud Foundry 的 Bluemix 上的 Liberty。 当我使用从管道到我自己的工作区的部署阶段时,将忽略清单文件中声明的服务以及到应用的服务绑定。 但是,使用Deploy to Bluemix
按钮时,将创建依赖服务和绑定。
如果不使用"部署到 Bluemix",而只是使用部署阶段,如果空间中不存在服务,如何强制部署阶段创建和绑定服务?
---
declared-services:
tuck-cloudant-cloudantNoSQLDB:
label: cloudantNoSQLDB
plan: Shared
applications:
- services:
- tuck-cloudant-cloudantNoSQLDB
- name: HelloWorldTuck4
path: HelloWorld.war
谢谢!
杰夫
文件manifest.yml
中的服务绑定是 Cloud Foundry 标准的 IBM 扩展(参见部署到 Bluemix),希望能合并到该扩展。但是,目前只有Deploy to Bluemix
按钮的特殊部署处理将处理该声明的服务部分,并为您预配服务。
您可以在管道中编写服务创建的脚本。甚至还有一种方法可以通过"部署到 Bluemix"按钮来实现它,在示例存储库中使用 pipeline.yml 文件:https://console.ng.bluemix.net/docs/develop/sharetextpipelines.html
请参阅此处的示例:https://github.com/hmagph/sample-java-cloudant
声明的服务特定于Deploy to Bluemix
。 但是,您可以在部署阶段运行几乎任何您想要的 cf cli 命令。 你应该能够做一个cf create-service ...
或一个cf bind-service ...
。 这必须手动完成,向部署脚本添加行。