У меня есть большое количество облачных функций (более 150), которые необходимо развернуть. Когда я запускаю следующее: firebase deploy --only functions
для полного развертывания, я получаю следующее сообщение:
⚠ functions: too many functions are being deployed, cannot poll status.
In a few minutes, you can check status at https://console.firebase.google.com/project/.../functions/logs
You can use the --only flag to deploy only a portion of your functions in the future.
✔ Deploy complete!
указывает на то, что развертывание выполняется. Проблема, с которой я сталкиваюсь, заключается в том, что обычно несколько функций не удается развернуть из-за ограничений квот или других проблем, не связанных с кодом, и их необходимо повторить/повторно развернуть. При опросе firebase предоставит код для повторной попытки, однако, если опрос не выполняется, дальнейший вывод консоли не предоставляется. Когда я получаю доступ к интерфейсу, я могу увидеть, какие функции не удалось развернуть: введите описание изображения здесь
Есть ли в интерфейсе Google возможность повторить попытку или какой-либо параметр команды, который можно добавить к команде развертывания для автоматического повтора неудачных функций? В настоящее время мне приходится вручную собирать все неудачные имена функций, вручную просматривая список и запуская развертывание, указав только их.
Нет такой опции для автоматической повторной попытки. Может быть, вы могли бы написать код для сканирования журналов, чтобы выяснить, что не удалось, и повторить попытку самостоятельно. В качестве альтернативы вы можете вместо этого вызывать CLI один раз для каждой отдельной функции с контролируемой скоростью и проверять результаты по отдельности.
То, что у вас здесь, звучит как запрос функции, который вы можете опубликовать в репозитории инструменты firebase GitHub. Вы также можете обратиться к Поддержка Firebase, чтобы сообщить о своих потребностях.
Имеет смысл. Флаг команды auto-retry значительно упростил бы конвейеры развертывания, так как было бы больше гарантий успешного развертывания. В настоящее время полное развертывание в конвейере небезопасно, так как нет гарантии, что все развернуто успешно, и в консоли нет индикации частичного развертывания.