Google Cloud Build - build.yaml & app.yaml 在子目录中未构建正确的源代码

Google Cloud Build - build.yaml & app.yaml in a sub directory not building correct source

我在为 google 应用引擎设置 yaml 文件时遇到问题。当我的 app.yaml 文件位于项目的根目录中时,配置工作正常,但如果它位于子目录中,则不会构建正确的源代码。我怀疑我需要在构建配置中设置 dir: 选项,但我尝试了多种变体,但我无法让它工作。

工作文件结构,部署的应用程序大小约为 3mb。

src
deployment
└── staging
    └── build.yaml
app.staging.yaml


# build.yaml
steps:
- name: node:12
  entrypoint: yarn
- name: node:12
  entrypoint: yarn
  args: ['build']
- name: "gcr.io/cloud-builders/gcloud"
  args: ["app", "deploy", "app.staging.yaml"]
timeout: "1800s"

文件结构无效,已部署的应用程序大小约为 1kb。

src
deployment
└── staging
    └── build.yaml
    └── app.yaml


# build.yaml
steps:
- name: node:12
  entrypoint: yarn
- name: node:12
  entrypoint: yarn
  args: ['build']
- name: "gcr.io/cloud-builders/gcloud"
  args: ["app", "deploy", "deployment/staging/app.yaml"]
timeout: "1800s"

在这两种情况下,我都开始部署: gcloud builds submit --config deployment/staging/build.yaml

我的 dir: 应该在 build.yaml 步骤中设置什么,以便构建步骤知道从根构建?有什么方法可以在本地调试,而不必每次都上传源代码吗?

谢谢! A

如果您在非自定义运行时中部署,则不能将 app.yaml 和 cloudbuild.yaml 放在同一目录中。请参阅

我相信默认情况下云构建期望 app.yaml 文件位于最上层目录中。我不确定是否可以在云构建设置中更改它。