是什么导致Google gcloud错误消息“错误:(gcloud)无效选择:'gcloud'”,以及如何解决此问题?

时间:2020-08-21 14:06:23

标签: google-cloud-platform yaml gcloud google-cloud-build

我正在尝试使用CI-CD流程在GCP中部署云功能。我已经写了一个Yaml文件。下面是我的代码: cloudbuild.yaml

# Deploy Cloud Function
  - name: "gcr.io/cloud-builders/gcloud"
    id: deploy
    dir: "/workspace/API/audit_from_storage"
    args:
      [
        'gcloud', 'functions', 'deploy', 'audit_deployed',
        '--set-env-vars', 'BASEURL=${_CP_BASE_URL},BUCKETNAME=${_BUCKETNAME},FUNCTION=${_FUNCTION}',
        '--region=us-central1',
        '--source=.',
        '--trigger-resource=${_BUCKETNAME}',
        '--trigger-event=google.storage.object.finalize',
        '--runtime=nodejs10',
        '--entry-point=collectAudit',
        '--service-account=${_SERVICE_ACCOUNT}',
      ]

下面是日志:

Finished Step #0 - "installing_npm"
Starting Step #1 - "deploy"
Step #1 - "deploy": Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #1 - "deploy": ERROR: (gcloud) Invalid choice: 'gcloud'.
Step #1 - "deploy": Maybe you meant:
Step #1 - "deploy":   gcloud functions deploy
Step #1 - "deploy":   gcloud run deploy
Step #1 - "deploy":   gcloud deployment-manager deployments cancel-preview
Step #1 - "deploy":   gcloud deployment-manager deployments create
Step #1 - "deploy":   gcloud deployment-manager deployments delete
Step #1 - "deploy":   gcloud deployment-manager deployments describe
Step #1 - "deploy":   gcloud deployment-manager deployments list
Step #1 - "deploy":   gcloud deployment-manager deployments stop
Step #1 - "deploy":   gcloud deployment-manager deployments update
Step #1 - "deploy": 
Step #1 - "deploy": To search the help text of gcloud commands, run:
Step #1 - "deploy":   gcloud help -- SEARCH_TERMS
Finished Step #1 - "deploy"
ERROR
ERROR: build step 1 "gcr.io/cloud-builders/gcloud" failed: step exited with non-zero status: 2

请帮助我解决此问题。 下面是从数组列表中删除gcloud参数之后的脚本:

Edit:

# Deploy Cloud Function
- name: "gcr.io/cloud-builders/gcloud"
  id: deploy
  dir: "/workspace/API/audit_from_storage"
  args:
    [
      'functions', 'deploy', 'audit_from_storage',
      '--set-env-vars', 'BASEURL=${_CP_BASE_URL},BUCKETNAME=${_BUCKETNAME},FUNCTION=${_FUNCTION}',
      '--region=us-central1',
      '--source=.',
      '--trigger-resource=${_BUCKETNAME}',
      '--trigger-event=google.storage.object.archive',
      '--runtime=nodejs10',
      '--entry-point=collectAudit',
      '--service-account=${_SERVICE_ACCOUNT}',
    ]

下面是日志:

Starting Step #1 - "deploy"
Step #1 - "deploy": Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #1 - "deploy": ERROR: (gcloud.functions.deploy) could not parse resource []
Finished Step #1 - "deploy"
ERROR
ERROR: build step 1 "gcr.io/cloud-builders/gcloud" failed: step exited with non-zero status: 1

enter image description here

谢谢 英式

1 个答案:

答案 0 :(得分:1)

在args数组中不需要gcloud;这是容器的入口点。

所以,只是:

args: ["functions","deploy",...]