Развертывание функции Google Cloud из Google Build - PullRequest
0 голосов
/ 06 июня 2019

При попытке развернуть простую функцию я сталкиваюсь с ошибкой 403. Вот мой полный ямл:

steps:
# Install Dependencies
- name: 'python'
  id: Pip install
  args: ['pip3', 'install', '-r', 'requirements.txt', '--user']
# Run Tests
- name: 'python'
  args: ['python3', '-m', 'pytest', 'functions/folder_a/test/']
# Deploy Cloud Functions
- name: 'gcr.io/cloud-builders/gcloud'
  id: 'helloFunction'
  args: ['functions', 'deploy', 'hello', '--source' , 'functions/folder_a/main.py',
           '--runtime' , 'python37' ,'--trigger-http']

Log

Шаг первый заканчивается нормально, но шаг второй здесь.

$ gcloud info

Account: [projectname@appspot.gserviceaccount.com]
Project: [projectname]

Current Properties:
  [core]
    project: [projectname]
    account: [projectname@appspot.gserviceaccount.com]
    disable_usage_reporting: [True]

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

  • Агент службы Cloud Build
  • Разработчик облачных функций
  • Агент службы облачных функций
  • Редактор

Когда Google Build работает, какую учетную запись службы он использует? Как изменить разрешения, чтобы разрешить автоматическое развертывание функций?

1 Ответ

2 голосов
/ 06 июня 2019

Использование Cloud Build для развертывания облачных функций документировано в https://cloud.google.com/functions/docs/bestpractices/testing#continuous_testing_and_deployment

. На этой странице приведено следующее руководство:

  • Для развертывания облачных функций может потребоватьсяназначьте роль разработчика Cloud Functions учетной записи службы Cloud Build (PROJECT_NUMBER@cloudbuild.gserviceaccount.com).
  • Если вы используете роль разработчика Cloud Functions, вам также необходимо предоставить учетную запись службы Cloud Functions Runtime (PROJECT_ID).@ appspot.gserviceaccount.com) роль пользователя учетной записи службы IAM .

Учетная запись службы Cloud Build - PROJECT_NUMBER@cloudbuild.gserviceaccount.com, если вы ищетев консоли будет только одна служебная учетная запись с *@cloudbuild*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...