[英]Is there a way in cloud foundry cf push command to have a manifest.yml with several "profiles"?
对于生产环境和非生产环境,我们有不同的设置(部署参数),包括内存、实例等。
我们正在使用 Jenkins 管道在 Pivotal Cloud Foundry 环境中部署我们的应用程序,最终使用“CF push”命令调用脚本。
我们正在检查使用两个不同的manifest.yml
文件(但不喜欢相同参数的重复性)。 我们还在检查将--var-file
与两个不同的 vars 文件一起使用。 我们担心向后兼容性,以及添加如此多文件的努力(我们有很多 MS)。
我们想要一个manifest.yml
看起来像这样:
applications:
- name: myAppName
services:
- discovery
- config-server
profile:
dev:
memory: 1024M
instances: 1
prod:
memory: 4096M
instances: 4
假设我们需要将参数profile=dev
传递给cf push
命令就可以了。
在DEV环境中,将部署1个1024M内存的实例; 而在 PROD 环境中,将部署 4 个具有 4096M 内存的实例。
我建议您重新考虑在清单中使用变量。 您可以使用--var-file
,但如果您想避免出现这些文件,您可以改为传入多个--var=<name>=<val>
参数。
或者只有dev.yml
和prod.yml
文件,然后您可以cf push -f dev.yml
或cf push -f prod.yml
并在两者之间进行选择。 有一点重复,但文件很小,所以应该没什么大不了的。
希望有帮助!
我不认为,尝试使用 CF CLI 命令来实现一切是正确的方法
我将通过编写一个 bash 脚本并以我想要的任何方式依次执行 cf-push 来实现这一目标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.