【发布时间】:2019-11-08 21:01:36
【问题描述】:
为源自 google kms 的 firebase 函数设置环境变量的推荐方法是什么?
在我的 cloudbuild.yaml 中,我有以下步骤:
# Set env
- name: 'gcr.io/$_PROJECT_ID/firebase'
args: ['functions:config:set', 'env.environment=$_ENV', 'env.build=$BUILD_ID','api_key=$API_KEY', '--project', '$_PROJECT_ID']
dir: 'functions'
secretEnv: ['API_KEY','FIREBASE_TOKEN']
对于自定义谷歌云构建器,我遵循了来自 遵循https://github.com/GoogleCloudPlatform/cloud-builders-community/的指示
cloudbuild.yaml 无效或替换不起作用。
编辑:
错误信息
ERROR: (gcloud.builds.submit) INVALID_ARGUMENT: invalid build: key in the template "API_KEY" is not a valid built-in substitution
如果我通过firebase functions:config:get 检索firebase 环境,我会看到$API_KEY 或$$API_KEY 或API_KEY,具体取决于所选的替换策略。
如果我将未加密的 API_KEY 添加到 Google Cloud Build Trigger 中的环境变量中,则替换将按预期工作。
【问题讨论】:
-
根据documentation samples,查看该步骤一切似乎都很好。我唯一注意到的是,您在“args”列表的第一个字符串中有错字。您缺少单引号:functions:config:set' 应该是'functions:config:set'。如果这不是您的问题的根源,最好了解有关您遇到的错误的更多信息。
-
感谢您指出错字。我编辑了最初的问题。替换不会发生,我最终将字符串
API_KEY作为我的环境变量。不确定是否推荐使用 secretEnv 作为 args 的一部分
标签: firebase google-cloud-functions google-cloud-build