Как разделить сборки развертывания на основе псевдонимов Firebase - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь разделить сборки развертывания при использовании разработки против общедоступной.

Моя .firebaserc настроена так:

{
  "projects": {
    "dev": "PROJECTNAME-development",
    "public": "PROJECTNAME-public"
  }
}

В одной из моих функций у меня естьчтобы сослаться на область памяти:

const bucket = storage.bucket('PROJECTNAME-public.appspot.com')

В данный момент мне нужно изменить имя, прежде чем я переключусь

Я бы хотел, чтобы при развертывании в dev я мог развернутьв мой проект разработчика ... что-то вроде этого:

let bucket
if (currentAlias === public) {
    bucket = storage.bucket('PROJECTNAME-public.appspot.com');
} else {
    bucket = storage.bucket('PROJECTNAME-development.appspot.com');
}

Я не могу найти ничего в документах, что позволило бы мне сделать что-то вроде этого.

1 Ответ

0 голосов
/ 15 февраля 2019

Звучит так, будто вы пытаетесь получить доступ к хранилищу по умолчанию для вашего проекта.

Если вы используете Firebase Admin SDK, просто инициализируйте его без параметров, и он будет автоматически выбранимя сегмента по умолчанию из среды.

const admin = require('firebase-admin');
admin.initializeApp();
const bucket = admin.storage().bucket();

Если вы используете SDK узла Cloud Storage, вы можете вручную извлечь имя сегмента из среды:

const config = JSON.parse(process.env.FIREBASE_CONFIG)
const bucketName = config.storageBucket
const bucket = new Storage().bucket(bucketName) // version 2.x of the SDK

Если вам нужен доступ к какому-либо другому значению для проекта, вы должны использовать Firebase переменные среды , настроенные CLI во время развертывания, и читать их с помощью SDK во время выполнения.

...