我已經有一個星期無法將我的 Go 應用程式部署到 Google App Engine Flexible,盡管我不記得更改任何相關內容。go.mod 和 go.sum 檔案位于頂層目錄,而 app.yaml 位于./cmd/app/.
錯誤資訊gcloud app deploy:
Services to deploy:
descriptor: [/Users/me/go/src/github.com/me/project/cmd/app/app.yaml]
source: [/Users/me/go/src/github.com/me/project/cmd/app]
target project: [project-us-central1]
target service: [default]
target version: [20220118t234216]
target url: [https://project-us-central1.uc.r.appspot.com]
target service account: [App Engine default service account]
Do you want to continue (Y/n)?
Beginning deployment of service [default]...
ERROR: (gcloud.app.deploy) Required file is not uploaded: [app.yaml].
This file should not be added to an ignore list
(https://cloud.google.com/sdk/gcloud/reference/topic/gcloudignore)
(當然,app.yaml 從未出現在忽略串列中。)
我嘗試了以下方法:
- 添加
!app.yaml到.gcloudignore 檔案 - 洗掉
.gcloudignore檔案 gcloud config set gcloudignore/enabled false- 等到新版本
gcloud發布 (Google Cloud SKD 368.0.0)。
請注意,這既發生在我現有的 Go 應用程式上,該應用程式在過去幾年(最后一次是 2021 年 11 月)成功部署了很多次,也發生在同一目錄結構下新創建的簡單 Web 服務器應用程式上。但是,如果我創建一個沒有 Go 模塊(go.mod、so.sum)的簡單應用程式,則gcloud app deploy可以按預期作業。
uj5u.com熱心網友回復:
我剛剛在發布此問題時找到了解決方法。最初,這似乎有效:
gcloud app deploy --appyaml=app.yaml
但是,大約 30 分鐘后,部署總是失敗并出現以下錯誤:
Updating service [default] (this may take several minutes)...failed.
ERROR: (gcloud.app.deploy) Error Response: [13] The system encountered a fatal error
部署的版本似乎正在運行,但它會為任何請求回傳 HTTP 404。在控制臺中停止并重新啟動該版本后,它仍然無法正常作業:它主要回傳 HTTP 502,有時回傳 HTTP 503 和“服務錯誤 -27”。我可以在日志中看到 /readiness_check 呼叫都以 503 失敗,failReason:"null"
uj5u.com熱心網友回復:
經過一番掙扎后發現問題在于該檔案與and檔案./cmd/app/app.yaml不在同一目錄中。./go.mod./go.sum
我的解決方法是go.mod在呼叫之前臨時重命名gcloud app deploy,然后在部署完成后將其移回。這樣,一切都會再次正常運行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/418227.html
標籤:
