在内存和实例等方面,我们针对产品和非产品环境有不同的设置(部署参数)。
我们正在使用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实例。
答案 0 :(得分:1)
我建议您重新考虑在清单中使用变量。您可以使用--var-file
,但如果要避免显示这些文件,可以直接传入多个--var=<name>=<val>
参数。
具有或仅具有dev.yml
和prod.yml
文件,则可以cf push -f dev.yml
或cf push -f prod.yml
在两者之间进行选择。有点重复,但是文件很小,所以应该没什么大不了的。
希望有帮助!
答案 1 :(得分:0)
我不认为,尝试使用CF CLI命令实现所有目标都是正确的方法
我可以通过编写bash脚本并按我希望的方式依次执行cf-push来简单地实现这一目标。