1

これは私のcloudbuild.yamlファイルです:

steps:
  # BUILD IMAGE
  - name: "gcr.io/cloud-builders/docker"
    args:
      - "build"
      - "--build-arg"
      - "PROJECT_ID=$PROJECT_ID"
      - "--build-arg" 
      - "SERVER_ENV=$_SERVER_ENV"
      - "--tag"
      - "gcr.io/$PROJECT_ID/my-image:$TAG_NAME"
      - "."
    env:
      - "PROJECT_ID=$PROJECT_ID"
    timeout: 180s
  # PUSH IMAGE TO REGISTRY
  - name: "gcr.io/cloud-builders/docker"
    args:
      - "push"
      - "gcr.io/$PROJECT_ID/my-image:$TAG_NAME"
    timeout: 180s
  # DEPLOY CONTAINER WITH GCLOUD
  - name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
    entrypoint: gcloud
    args:
      - "run"
      - "deploy"
      - "my-service"
      - "--image=gcr.io/$PROJECT_ID/my-image:$TAG_NAME"
      - "--platform=managed"
      - "--region=us-central1"
      - "--min-instances=1"
      - "--max-instances=3"
      - "--port=8080"
    timeout: 180s

images: 
  - "gcr.io/$PROJECT_ID/my-image:$TAG_NAME"
substitutions: 
  - "_SERVER_ENV=TEST"

このファイルに何か問題はありますか?

次のコマンドを実行しているときに発生するエラーは次のとおりです。

gcloud builds submit ./cloudRun                   \
--config=./cloudRun/cloudbuild.yaml               \
--substitutions=_SERVER_ENV=TEST,TAG_NAME=MY_TAG  \
--project=MY_PROJECT_ID

エラー: (gcloud.builds.submit) ./cloudRun/cloudbuild.yaml をビルド構成として解釈しています: 'list' オブジェクトに属性 'items' がありません

4

1 に答える 1

2

何が間違っているかがわかりました:

substitutionsARRAYではなくOBJECT :

したがって、これは正しくありません:

substitutions: 
  - "_SERVER_ENV=TEST"

しかし、これは正しいです:

substitutions: 
 _SERVER_ENV: "TEST"
于 2020-12-10T12:09:10.987 に答える