Как сохранить файлы, созданные во время сборки Google Cloud Build, при сбое? - PullRequest
1 голос
/ 17 октября 2019

Я хотел бы получить выходные данные сборок (например, скриншоты из Cypress) при сбое сборки. Моей первой идеей было загрузить эти файлы в корзину с gsutil. Однако, когда сборка завершается неудачно, следующий шаг не выполняется, поэтому я не могу загрузить файлы.

Я также пытался использовать gcsfuse, но не смог обойти его.

Кто-нибудь нашел способ сделать это?

1 Ответ

0 голосов
/ 17 октября 2019

Вы можете использовать пользовательский конструктор remote-builder . Он создает виртуальную машину Compute Engine в вашем проекте и выполняет этап сборки на этой виртуальной машине вместо экземпляра, управляемого Google.

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

  • прокомментировать эту строку, чтобы экземпляр не был удален. В случае неудачи на этапе сборки, вы можете перейти к облачной консоли> Виртуальные машины Compute Engine и ssh в экземпляр и скопировать файлы снимков экрана в любое место. Однако вам нужно помнить об удалении экземпляра (даже если этап сборки успешен)
  • или настроить функцию cleanup () , чтобы он копировал файлы в другое место перед удалениемVM.
...