Cloud Foundry cf push命令中是否有一种方法可以使manifest.yml具有多个“配置文件”?

时间:2019-06-16 11:26:16

标签: manifest cloudfoundry

在内存和实例等方面,我们针对产品​​和非产品环境有不同的设置(部署参数)。

我们正在使用Jenkins管道在Pivotal Cloud Foundry环境中部署应用程序,最终将使用“ CF push”命令调用脚本。

我们正在检查使用两个不同的manifest.yml文件(但如果参数相同则不喜欢重复) 我们还在研究将--var-file与两个不同的vars文件一起使用。我们担心向后兼容性,以及添加这么多文件的努力(我们有许多MS)。

我们想要一个manifest.yml如下所示: -名称:myAppName   服务:   -发现   -配置服务器 轮廓:   开发人员:     内存:1024M     实例:1   产品:     内存:4096M     实例:4

假设我们需要将参数profile = dev传递给cf push命令就可以了。

在DEV环境中,将部署1个具有1024M内存的实例。在PROD环境中,将部署4个4096M实例。

2 个答案:

答案 0 :(得分:1)

我建议您重新考虑在清单中使用变量。您可以使用--var-file,但如果要避免显示这些文件,可以直接传入多个--var=<name>=<val>参数。

具有或仅具有dev.ymlprod.yml文件,则可以cf push -f dev.ymlcf push -f prod.yml在两者之间进行选择。有点重复,但是文件很小,所以应该没什么大不了的。

希望有帮助!

答案 1 :(得分:0)

我不认为,尝试使用CF CLI命令实现所有目标都是正确的方法

我可以通过编写bash脚本并按我希望的方式依次执行cf-push来简单地实现这一目标。