Я хочу развернуть приложение Vue.js с облачной сборкой Google (для хостинга Firebase). Даже если это довольно тривиальное использование двух продуктов, реализации двух сервисов для переменных среды кажутся противоречивыми.
Google Cloud Build требует, чтобы переменные среды начинались с префикса «VUE_APP», в противном случае он полностью игнорирует их, и их содержимое не определено. С другой стороны, облачная сборка Google требует, чтобы переменные имели префикс «_», в противном случае переменная подстановки не является «действительной встроенной заменой». Поэтому я не вижу возможности передавать переменные из 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 не был установлен.