Назад | Перейти на главную страницу

Appengine зависал на «Обновление службы [по умолчанию]…»

Я использую nodejs в appengine. Во вторник у нас был совершенно стабильный каркас приложения, а к пятнице он был полностью сломан после попытки развертывания. Мы внесли некоторые незначительные изменения в код внешнего интерфейса, но я не думаю, что ничего, что могло бы помешать запуску экземпляра.

Вот шаги для воспроизведения.

  1. gcloud --project "{appname}" preview app deploy

  2. журналы показывают установку npm, сборку контейнера и т. д.

  3. Висит на Updating service [default]... на 5 минут

  4. Сбой с ошибкой.

ОШИБКА: (gcloud.preview.app.deploy) Ответ об ошибке: [13] Истекло время ожидания при запуске виртуальных машин. Возможно, код приложения неработоспособен. (0/1 готово, 1 все еще развертывается).

Я попытался вернуть репозиторий к состоянию, когда у нас были стабильные развертывания, и это не помогло. Это заставляет меня думать, что что-то в GCP не работает.

Я попытался удалить все текущие версии, а затем развернуть, но безрезультатно.

Когда вы получаете эту ошибку, вы можете взглянуть на crash.log в облачной консоли. Просмотр журналов (Ведение журнала -> Журналы) для вашей конкретной службы / версии, которая обычно сообщает вам, что именно произошло. В моем случае, когда я воспроизвел ту же ошибку, crash.log показывает мне вывод NPM, который сообщает мне, что у меня есть «SyntaxError: Unexpected identifier».

YMMV, конечно, но это может сказать вам, связана ли проблема с кодом вашего приложения или происходит что-то более зловещее.

Для меня ответ был другим ... Версия начала создаваться, но так и не закончила процесс создания. Этот сценарий виден, если вы войдете в журналы для своей службы AppEngine (отметьте все параметры, чтобы увидеть ВСЕ журналы), и вы можете заметить «Контейнер с именем exit (1)».

В моем случае я обнаружил, что запуск «gcloud init» для сброса моих учетных данных помог. Надеюсь, это поможет кому-то другому.

Поцарапайте это ... Я обнаружил, что Cloud Build API просто ПУТЬ позади / медленно. Это происходило последние пару часов. Я только что заметил, что на моей приборной панели сразу появилось 4 версии с предыдущих часов вечера. Видимо нет возможности отменить предыдущие развертывания? Как ни странно, когда служба сборки Google отстает все вероятно, начинает рассылать спам / повторять попытки развертывания, и проблема усугубляется ... так плохо.

Убедитесь, что в вашем package.json есть этот раздел

"cloud-repo-tools": {
"test": {
  "app": {
    "msg": "Hello, world!"
  }
},
"requiresKeyFile": true,
"requiresProjectId": true
}

с разделом «msg», содержащим некоторую строку, которую может искать проверка работоспособности. Не удалось найти для этого документацию, поэтому, если кто-то еще найдет, я бы с удовольствием ее увидел.