Cloudbuild hat bei der Bereitstellung in App Engine Probleme festgestellt
P粉018548441
P粉018548441 2024-03-31 09:13:53
0
1
420

Ich habe ein Projekt mit Node + Vue JS erstellt. Das Projekt ist mit verschiedenen Verzeichnissen für Frontend- und Backend-Code strukturiert. /api 是后端代码,有自己的package.json,而 ui ist der Front-End-Code und verfügt auch über eine eigene package.json. Das Projekt ist wie folgt aufgebaut:

/app
  /api
    package.json
  /ui
    package.json
  /config
    cloudbuild.yaml

Ich versuche, mit Cloudbuild ein Projekt in App Engine bereitzustellen. cloudbuild.yaml Der Aufbau der Datei ist wie folgt:

steps:
- name: gcr.io/cloud-builders/gcloud:latest
  entrypoint: "ls"
  args: ["-lah","/workspace"]
- name: node
  entrypoint: yarn
  args: ["install"]
  dir: "api"
- name: node
  entrypoint: yarn
  args: ['global', 'add', '@vue/cli']
  dir: "ui"
- name: node
  entrypoint: yarn
  args: ['run', 'build']
  dir: "ui"
- name: "gcr.io/cloud-builders/gcloud"
  args: ["app", "deploy", "./app.yaml"]
timeout: "1600s"

Schritte 0–2 werden erfolgreich abgeschlossen, aber beim Erstellen der Vue-App für die Produktion schlägt der Build ausdrücklich yarn run build命令。此命令在/ui目录的package.json中被列为vue-cli-service build fehl.

Die Fehlermeldung ist /bin/sh: 1: vue-cli-service: not found

Sieht so aus, als ob Cloudbuild vue-cli nicht finden kann, weil es nicht installiert ist oder nicht weiß, was es erstellen soll.

Meine Frage ist, wie man mit Cloudbuild Projekte mit unterschiedlichen Verzeichnissen in App Engine bereitstellt.

P粉018548441
P粉018548441

Antworte allen(1)
P粉736935587

Cloud Build的核心原则之一是在每个步骤中从下一个执行上下文开始。只有/workspace目录在每个步骤之间保留。

在第三个步骤中,您在全局安装vue cli,因此不在当前目录(workspace的子目录)中,而是在容器运行时目录(/etc或其他地方;在任何情况下,都不在workspace下)。

如果您删除global参数,您将在应用程序目录(/workspace下)中本地安装库,因此安装将在后续步骤中持续存在。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!