Я тестирую, как построить конвейер на 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 на моей локальной машине, но, честно говоря, я не знаю, как мне это исправить. Любая помощь приветствуется.