0

我的应用程序位于名为 的文件夹中client,如何创建一个触发器来指定要在该文件夹上执行的应用程序部署工作流?

我的 cloudbuild.yaml 文件也在该文件夹中,并且具有以下内容:

steps:
- name: "gcr.io/cloud-builders/gcloud"
  args:
    - |
      cd ../client
      gcloud app deploy
timeout: "1600s"

错误是这样的:

ERROR: (gcloud) Invalid choice: 'cd ../client

我的文件目录:

  • 主要的
    • .gitignore
    • 执照
    • 自述文件.md
    • 客户
      • 应用程序.yaml
      • cloudbuild.yaml
4

2 回答 2

0

如果要手动执行目录更改,则需要将入口点更改为 bash。看看这里的第二个例子:https ://cloud.google.com/build/docs/configuring-builds/run-bash-scripts

gcloud 工具还将获取要部署的 app.yaml 的参数,因此您只需将所需的路径添加到现有参数中即可。您可以在此处找到 gcloud 应用部署参考:https ://cloud.google.com/sdk/gcloud/reference/app/deploy

于 2021-10-24T14:47:13.880 回答
0

gcloud不是 bash 或类似的,那么你不能执行类似的东西cd ../client

我建议dir在您的步骤中使用,然后它将使用指定为工作目录的目录:

steps:
- name: "gcr.io/cloud-builders/gcloud"
  dir: client/
  args:
    - app
    - deploy
timeout: "1600s"

您可以更改路径,只需注意文件的完整结构。

于 2021-10-27T16:09:43.673 回答