Bluemix(cloud foundry) 清单变量

Bluemix(cloud foundry) Manifest Variables

我有一个 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"

您可以考虑将 variable substitution 用于您的清单文件。这样,您的应用程序名称将从环境中读取或从另一个配置文件传入:

name: ((appname))

我在我的一些项目中使用了整个清单文件的完全替换。作为构建和部署准备工作的一部分,只需复制一份适当的清单文件即可。在我的一个旧项目中,我有四个不同的清单文件:manifest.yml、manifest_PROD.yml、Manifest_DEV.yml 和 manifest_TEST.yml。作为部署和构建脚本的一部分(使用 Continuous Delivery services),只需在开始部署之前将适当的清单文件复制到 manifest.yml。