Rumah  >  Soal Jawab  >  teks badan

Cloudbuild menghadapi masalah untuk menggunakan App Engine

Saya telah membina projek menggunakan Node + Vue JS, projek itu distrukturkan dengan direktori yang berbeza untuk kod bahagian hadapan dan bahagian belakang. /api 是后端代码,有自己的package.json,而 ui ialah kod bahagian hadapan dan juga mempunyai pakej sendiri.json. Projek ini disusun seperti berikut:

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

Saya cuba menggunakan projek ke App Engine menggunakan Cloudbuild. cloudbuild.yaml Struktur fail adalah seperti berikut:

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"

Langkah 0-2 berjaya diselesaikan, tetapi apabila membina apl Vue untuk pengeluaran, binaan gagal secara khusus yarn run build命令。此命令在/ui目录的package.json中被列为vue-cli-service build.

Mesej ralat ialah /bin/sh: 1: vue-cli-service: not found

Nampaknya Cloudbuild tidak dapat mencari vue-cli, seperti tidak dipasang atau tidak tahu apa yang hendak dibina.

Soalan saya ialah bagaimana untuk menggunakan projek dengan direktori berbeza ke App Engine menggunakan Cloudbuild?

P粉018548441P粉018548441188 hari yang lalu430

membalas semua(1)saya akan balas

  • P粉736935587

    P粉7369355872024-04-01 00:43:36

    Salah satu prinsip teras Cloud Build ialah bermula dengan konteks pelaksanaan seterusnya pada setiap langkah. Hanya direktori /workspace dikekalkan antara setiap langkah.

    Dalam langkah ketiga, anda memasang vue cli secara global, jadi bukan dalam direktori semasa (subdirektori ruang kerja), tetapi dalam direktori masa jalan kontena (/etcatau di tempat lain; dalam apa jua keadaan, bukan di bawah ruang kerja) .

    Jika anda mengalih keluar parameter global, anda akan memasang pustaka secara setempat dalam direktori aplikasi (di bawah global参数,您将在应用程序目录(/workspace), jadi pemasangan akan berterusan dalam langkah seterusnya.

    balas
    0
  • Batalbalas