我有以下 manifest.yml
文件,用于在基于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
谢谢!
杰夫
3 回答
文件
manifest.yml
中的服务绑定是Cloud Foundry标准的IBM扩展(请参阅Deploy to Bluemix),这些扩展有望被合并 . 但是,此时只有Deploy to Bluemix
按钮的特殊部署处理才会处理该声明的服务部分,并为您提供服务 .实际上,您可以在管道中编写服务创建脚本 . 甚至有一种方法可以使用Deploy to 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 ...
. 这必须手动完成,向部署脚本添加行 .