使用 Bitbucket Pipelines 和我有像这样的存储库变量(不是部署变量):
DEV_DB_SERVER
QA_DB_SERVER
STG_DB_SERVER
在我的 bitbucket-pipelines.yml
脚本的这个阶段,我无法利用部署变量 - 因为你只能在一个步骤中公开它们,我试图用这样的方式替换存储库变量的第一部分:
echo ${"${ENV}_DB_SERVER"}
将输出每个环境的实际服务器地址 - 取决于目标环境:$ENV。顺便说一句,上述语法产生:bash: DB_SERVER=${"$ENV_DB_SERVER"}: bad substitution
但我尝试了无数变体都没有成功。
我试图避免使用巨大的 switch
或 if
语句并清楚地拼写每个变量。有谁知道这样的事情是否可行以及如何实现?
答案 0 :(得分:0)
虽然不完全是我所追求的,但我能够通过每个环境变量一行来实现我的目标,这比为每个环境变量分别提及每个(27 个)要好得多我们的 4 个环境:
- tmp="${ENV}_DB_SERVER" && export DB_SERVER=${!tmp}
可能有一种更优雅的方式来实现这一点,如果您知道,我希望得到您的反馈,但目前有效。