我有一个托管在两个环境中的Web应用程序,一个是DEV,一个是PROD,DEV环境有_DEV和_UAT实例,我们目前正在测试。问题是这个 - 在DEV和PROD中应用程序名称是相同的,但对于UAT,它具有_UAT扩展名。由于每次更改清单都不是一个选项,您知道如何设置和使用变量,以便bluemix可以看到如果_UAT是环境,请使用此名称和这些设置吗?
以下是我们的清单的快照,其名称已更改:
applications:
path: .
memory: 256M
instances: 3
domain: bm.devfg.com
buildpack: sdk-for-nodejs
name: AppName (in UAT this should say AppName_UAT)
host: AppName
disk_quota: 1024M
services:
- dynatracesaasnodejs
- postgresunixdb
env:
NODE_TLS_REJECT_UNAUTHORIZED: "0"
答案 0 :(得分:0)
您可以考虑使用variable substitution作为清单文件。有了这个,您的appname将从环境中读取或从另一个配置文件传入:
name: ((appname))
答案 1 :(得分:0)
我在一些项目中使用了整个清单文件的完全替换。作为构建和部署准备工作的一部分,只需执行正确的清单文件的简单副本即可。在我的一个旧项目中,我有四个不同的清单文件:manifest.yml,manifest_PROD.yml,Manifest_DEV.yml和manifest_TEST.yml。作为部署和构建脚本的一部分(使用Continuous Delivery services),只需在开始部署之前将相应的清单文件复制到manifest.yml。