簡體   English   中英

無法在 App Engine 標准環境 (GCP) 中部署預構建映像

[英]Unable to deploy pre built image in app engine standard environment (GCP)

我的 spring 引導應用程序在雲構建和部署中運行良好,直到 9 月才出現任何問題。 現在我的觸發器在 gcloud app deploy 中失敗了。

第 4 步:錯誤:(gcloud.app.deploy) INVALID_ARGUMENT:部署無法使用預建映像。 預構建圖像僅允許在 App Engine 柔性環境中使用。

應用程序.yaml

runtime: java11
env: standard
service: service
handlers:
  - url: /.*
    script: this field is required, but ignored

cloudbuild.yaml

steps:
# backend deployment
# Step 1:
  - name: maven:3-jdk-14
    entrypoint: mvn
    dir: 'service'
    args: ["test"]

# Step 2:
  - name: maven:3-jdk-14
    entrypoint: mvn
    dir: 'service'
    args: ["clean", "install", "-Dmaven.test.skip=true"]

# Step 3:
  - name: docker
    dir: 'service'
    args: ["build", "-t", "gcr.io/service-base/base", "."]

# Step 4:
  - name: "gcr.io/cloud-builders/docker"
    args: ["push", "gcr.io/service-base/base"]

# Step 5:
  - name: 'gcr.io/cloud-builders/gcloud'
    dir: 'service/src/main/appengine'
    args: ['app', 'deploy', "--image-url=gcr.io/service-base/base"]
    timeout: "30m0s"
# Step 6:
  # dispatch.yaml deployment
  - name: "gcr.io/cloud-builders/gcloud"
    dir: 'service/src/main/appengine'
    args: ["app", "deploy", "dispatch.yaml"]
    timeout: "30m0s"
timeout: "100m0s"
images: ["gcr.io/service-base/base"]

雲構建錯誤

提前致謝。 我很困惑我的構建之前如何正常工作以及我現在做錯了什么。

您無法在 App Engine 標准上部署自定義容器。 您必須提供您的代碼和環境運行時。 然后使用Buildpack在 Google 端創建一個標准容器(有關信息,為此運行了一個新的 Cloud Build 作業)並部署在 App Engine 上。

我建議您查看 Cloud Run 以使用您的自定義容器。 它非常接近 App Engine(在許多方面甚至更好。)並且非常可定制。

您的cloudbuild.yaml評論中提到的Step 5對應於錯誤中的Step #4 ,因為系統從 0 開始對步驟進行編號。

錯誤信息是准確的; App Engine 標准 (.) 與 App Engine 靈活的不同之處在於后者(靈活)允許容器映像部署。 App Engine 標准從源deploys

請參閱 Google 的示例

可能是谷歌改變了導致問題的原因,但是env: standard app.yaml中的標准表明構建文件已更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM