我有一个 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"
您可以考虑对清单文件使用变量替换。这样,您的 appname 将从环境中读取或从另一个配置文件传入:
name: ((appname))
我已经在我的一些项目中使用了整个清单文件的完整替换。 作为构建和部署准备工作的一部分,只需执行正确清单文件的简单复制即可。 在我的一个旧项目中,我有四个不同的清单文件:manifest.yml、manifest_PROD.yml、Manifest_DEV.yml 和 manifest_TEST.yml。 作为部署和生成脚本的一部分(使用持续交付服务(,只需在开始部署之前将相应的清单文件复制到 manifest.yml。