Как включить cloudbuild.yaml для развертывания CloudFunction на основе zip? - PullRequest
2 голосов
/ 15 января 2020

Учитывая некоторый общий c Python код, структурированный как ...

cloudbuild.yaml
requirements.txt
functions/
    folder_a/
        test/
            main_test.py
        main.py

Если я ...

... it Кажется, что конфигурация сборки для cloudbuild (cloudbuild.yaml), включенная в .zip, никогда не учитывается во время сборки (то есть, пока / до разрешения requirements.txt).

Я настроил cloudbuild.yaml для предоставления доступа в частный репозиторий github (который содержит зависимость, указанную в requirements.txt). К сожалению, сборка завершается с ошибкой (вывод terraform):

Ошибка: ошибка ожидания обновления CloudFunctions Функция: код ошибки 3, сообщение: сборка завершилась неудачно: {"error": {"canonicalCode": "INVALID_ARGUMENT" , "errorMessage": "pip_download_wheels был вывод stderr: \ nCommand \" git clone -qs sh: // git@github.com/SomeWhere/SomeThing.git / tmp / pip-req-build-a29nsum1 \ "не удалось с кодом ошибки 128 в Нет \ n \ nerror: pip_download_wheels возвращенный код: 1 "," errorType ":" InternalError "," errorId ":" 92DCE9EA "}}

Согласно документация по созданию облака , cloudbuild.yaml можно указать с помощью gcloud builds submit --config=cloudbuild.yaml . - есть ли способ также передать этот параметр в gcloud functions deploy (или даже в Terraform)? Я хотел бы остаться с текущей, «прозрачной» сборкой кода, то есть я не хочу настраивать сборку кода отдельно, а просто загрузить свой zip и сделать так, чтобы код создавался и развертывался «автоматически», соблюдая codebuild.yaml.

1 Ответ

1 голос
/ 15 января 2020

Похоже, вы пытаетесь пройти аутентификацию в частном Git репо через S SH. К сожалению, в настоящее время это не поддерживается облачными функциями.

Альтернативой может быть размещение вашей частной зависимости в каталоге перед созданием файла .zip.

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