Как создать экземпляр dev и prod для одной и той же облачной функции, используя сервер? - PullRequest
2 голосов
/ 24 мая 2019

У меня есть облачная функция с именем getVendors, которая развернута без использования сервера.Мне нужно создать и dev и производственный экземпляр одной и той же функции.Когда я выполняю развертывание с использованием переменной dev в моем файле yml, она перезаписывает функцию, которая в настоящее время находится в GCP.

Как развернуть экземпляр dev той же облачной функции без перезаписи производственного экземпляра?

Для справки, у меня есть два стека (dev и prod), видимые в диспетчере развертывания.Когда я смотрю на Облачные функции в проекте, в проекте есть только одна функция.Эта функция перезаписывается.

service: get-vendor-info

provider:
  name: google
  stage: production
  runtime: nodejs8
  region: us-central1
  project: {PROJECT NAME IS HIDDEN}
  # the path to the credentials file needs to be absolute
  credentials:{MY_CREDENTIALS}.json

plugins:
  - serverless-google-cloudfunctions

package:
  exclude:
    - node_modules/**
    - .gitignore
    - .git/**

functions:
  getVendors:
    handler: getVendors
    events:
      - event: 
          eventType: providers/cloud.pubsub/eventTypes/topic.publish
          resource: projects/{MY_PROJECT_NAME}/topics/getVendors

1 Ответ

0 голосов
/ 28 мая 2019

Я использую два разных проекта GCP; один для dev / test и другой для prod. Если в команде несколько разработчиков, вам следует рассмотреть возможность предоставления каждому из них собственного проекта разработчика.

Этим вы снижаете риск разработки или тестирования работы, которая портит производственные данные. Вы можете копировать производственную базу данных в проект dev / test ночью и потенциально добавлять в нее также специальные тестовые данные. Эти специальные тестовые данные могут быть угловыми случаями, общеизвестными данными для выполнения автоматических тестов и т. Д.

Для более углубленного обсуждения, ознакомьтесь с этим докладом из Google Cloud. Далее: https://youtu.be/41QvqGfbz9o?t=1142

...