Cloud Build для Google App Engine - Гибкая ошибка с общим «выходом из состояния 1» - PullRequest
0 голосов
/ 18 июня 2019

Я тестирую, как построить конвейер на GCP, и после успешного развертывания приложения Angular 6 я хотел добавить бэкэнд websocket (socket.io), который будет обслуживать обновления в реальном времени.

Прежде всего сама ошибка, которая является результатом этой команды:

gcloud builds submit --verbosity=debug --config stage.cloudbuild.yaml .

[...]
Step #1: ERROR: (gcloud.app.deploy) INTERNAL: Internal error encountered.
Finished Step #1
ERROR
ERROR: build step 1 "gcr.io/cloud-builders/gcloud" failed: exit status 1
----------------------------------------------------------------------------------

DEBUG: (gcloud.builds.submit) build 29412e5a-cd7f-4af8-9b83-71fb17414dc2 completed with status "FAILURE"
Traceback (most recent call last):
  File "C:\Users\[UsernameRedacted]\AppData\Local\Google\Cloud SDK\google-cloud-sdk\lib\googlecloudsdk\calliope\cli.py", line 985, in Execute
    resources = calliope_command.Run(cli=self, args=args)
  File "C:\Users\[UsernameRedacted]\AppData\Local\Google\Cloud SDK\google-cloud-sdk\lib\googlecloudsdk\calliope\backend.py", line 795, in Run
    resources = command_instance.Run(args)
  File "C:\Users\[UsernameRedacted]\AppData\Local\Google\Cloud SDK\google-cloud-sdk\lib\surface\builds\submit.py", line 497, in Run
    raise FailedBuildException(build)
FailedBuildException: build 29412e5a-cd7f-4af8-9b83-71fb17414dc2 completed with status "FAILURE"
ERROR: (gcloud.builds.submit) build 29412e5a-cd7f-4af8-9b83-71fb17414dc2 completed with status "FAILURE"
[...]
[ ... NPM saying it's not its fault yada yada ... ]

Моя местная среда: Узел: 10.9.0 НПМ: 6.2.0 ОС: Windows 10

Ниже приведен файл app.yaml (в частности, stage.app.yaml):

service: mercury
runtime: nodejs
env: flex

instance_class: B1
manual_scaling:
  instances: 1

env_variables:
  MERCURY_PORT: 5001
  MERCURY_SECRET: [REDACTED]

network:
  session_affinity: true

И cloudbuild.yaml (в частности, stage.cloudbuild.yaml):

steps:

- name: 'gcr.io/cloud-builders/npm'
  args: [ 'install' ]

- name: 'gcr.io/cloud-builders/gcloud'
  args: [ 'app', 'deploy', 'stage.app.yaml', '-v=stage' ]

Это package.json:

{
  "name": "mercury",
  "version": "1.0.0",
  "description": "socket.io event manager",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "deploy-stage": "gcloud builds submit --config stage.cloudbuild.yaml .",
    "deploy-prod": "gcloud builds submit --config prod.cloudbuild.yaml ."
  },
  "dependencies": {
    "async": "^2.4.0",
    "body-parser": "^1.17.1",
    "dotenv": "^4.0.0",
    "express": "^4.15.2",
    "express-validator": "^3.2.0",
    "http": "0.0.0",
    "jsonwebtoken": "^7.4.0",
    "moment": "^2.18.1",
    "request": "^2.81.0",
    "request-promise": "^4.2.2",
    "socket.io": "^2.0.1"
  },
  "devDependencies": {
    "eslint": "^4.18.1",
    "eslint-plugin-node": "^6.0.0",
    "log-timestamp": "^0.1.2"
  },
  "engines": {
    "node": "10.9.0"
  }
}

Ссылка на суть с конфигурациями, используемыми для углового приложения согласно запросу @SamuelN. Это ионное приложение, поэтому оно немного отличается от обычного приложения «Герои».

Кажется, что-то не так в каком-то скрипте Python на моей локальной машине, но, честно говоря, я не знаю, как мне это исправить. Любая помощь приветствуется.

...