【发布时间】:2019-06-28 19:13:45
【问题描述】:
我想使用谷歌云构建部署一个 Vue.js 应用程序(到 Firebase 托管)。即使这是对这两种产品的相当微不足道的使用,但两种环境变量服务的实现似乎是矛盾的。
Google Cloud Build 要求环境变量以“VUE_APP”前缀开头,否则它会完全忽略它们并且它们的内容未定义。另一方面,谷歌云构建要求变量具有前缀“_”,否则它会抛出替换变量不是“有效的内置替换”。所以无论如何我都看不到将变量从 Google Cloud Build 传递到 Vue.js 应用程序。
我还尝试了以下方法:
- name: 'gcr.io/cloud-builders/npm'
args: [ 'ci', '--prefix', 'web/vue_js_landing/' ]
env: [ 'VUE_APP_FIREBASE_WEB_API_KEY=${_FIREBASE_WEB_API_KEY}' ]
但它会抛出“模板“VUE_APP_FIREBASE_WEB_API_KEY”中的密钥不是有效的内置替换”
有人知道这种情况的解决方法吗?
更正:
这个问题具有误导性。上面的代码回答了我的问题。里面还有一个错别字。它应该是“args: ['build', '--prefix', 'web/vue_js_landing/']”。我提到的错误,如果其他人偶然发现,这是因为我在配置中的某个其他点执行了“echo $VUE_APP_FIREBASE_WEB_API_KEY”,这可能是因为未设置 ALLOW_LOOSE 标志。
【问题讨论】:
标签: firebase docker vue.js google-cloud-build