Cloudbuild a rencontré des problèmes de déploiement sur App Engine
P粉018548441
P粉018548441 2024-03-31 09:13:53
0
1
479

J'ai construit un projet en utilisant Node + Vue JS, le projet est structuré avec différents répertoires pour le code frontend et backend. /api 是后端代码,有自己的package.json,而 ui est le code frontal et possède également son propre package.json. Le projet est structuré comme suit :

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

J'essaie de déployer un projet sur App Engine à l'aide de Cloudbuild. cloudbuild.yaml La structure du dossier est la suivante :

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"

Les étapes 0 à 2 se terminent avec succès, mais lors de la création de l'application Vue pour la production, la construction échoue spécifiquement yarn run build命令。此命令在/ui目录的package.json中被列为vue-cli-service build.

Le message d'erreur est /bin/sh: 1: vue-cli-service: not found

On dirait que Cloudbuild ne trouve pas vue-cli, comme s'il n'était pas installé ou ne savait pas quoi construire.

Ma question est de savoir comment déployer des projets avec différents répertoires sur App Engine à l'aide de Cloudbuild ?

P粉018548441
P粉018548441

répondre à tous(1)
P粉736935587

L'un des principes fondamentaux de Cloud Build est de commencer par le contexte d'exécution suivant à chaque étape. Seul le répertoire /workspace est conservé entre chaque étape.

Dans la troisième étape, vous installez vue cli globalement, donc pas dans le répertoire courant (un sous-répertoire de l'espace de travail), mais dans le répertoire d'exécution du conteneur (/etcou ailleurs ; en tout cas, pas sous l'espace de travail) .

Si vous supprimez le paramètre global, vous installerez la bibliothèque localement dans le répertoire de l'application (sous global参数,您将在应用程序目录(/workspace), donc l'installation persistera dans les étapes suivantes.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal