部署至服務或變更服務設定時,系統會建立不可變更的修訂版本。
修訂版本有以下注意事項:
- 您可以指定新修訂版本是否接收所有、部分或不接收流量、逐步推出新修訂版本、在多個修訂版本之間分配流量,以及復原修訂版本。詳情請參閱「復原、漸進式推出及流量遷移」。
- 您可以視需要使用修訂版本標記,測試未提供流量的修訂版本。
- 您不需要手動刪除修訂版本,但可以視需要刪除。
- 未收到要求的修訂版本不會耗用任何資源,也不會產生費用。不過,如果修訂版本已設定執行個體數量下限,請留意計費考量。
- 每項服務最多可有 1, 000 個修訂版本,超過這個上限後,系統會自動刪除較舊的修訂版本。
- 系統會自動指派修訂版本後置字串。如要使用自己的版本後置字串,可以使用 gcloud CLI 參數
--revision-suffix。
必要的角色
如要取得管理 Cloud Run 服務和修訂版本所需的權限,請要求管理員授予您 Cloud Run 服務的 Cloud Run 開發人員 (roles/run.developer) IAM 角色。
如要查看與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱「Cloud Run IAM 角色」和「Cloud Run IAM 權限」。如果 Cloud Run 服務與Cloud de Confiance API (例如 Cloud 用戶端程式庫) 互動,請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱部署權限和管理存取權。
查看服務的修訂版本清單
控制台
在專案中查看修訂版本清單:
在服務清單中找到該服務,然後按一下。
按一下「Revision history」(修訂版本記錄) 分頁標籤,即可查看該服務目前的修訂版本清單。
gcloud
如要查看特定服務的修訂版本清單:
從專案可用服務清單中,尋找您的服務名稱。
gcloud run services list
使用下列指令來取得剛找到的服務的所有修訂版本:
gcloud run revisions list --service SERVICE --region REGION
取代
- SERVICE 改為您的服務名稱。
- REGION:服務的 Cloud de Confiance 區域。
Cloud Code
如要使用 Cloud Code 查看修訂版本清單,請參閱 IntelliJ 和 Visual Studio Code 的 Cloud Run Explorer 指南。
用戶端程式庫
如要查看程式碼的修訂版本清單,請按照下列步驟操作:
REST API
如要查看修訂版本清單,請將 GET HTTP 要求傳送至 Cloud Run Admin API revisions 端點。
例如,使用 curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions
更改項目:
- ACCESS_TOKEN,並附上有效存取權杖,用於具備查看修訂版本 IAM 權限的帳戶。舉例來說,如果您已登入 gcloud,可以使用
gcloud auth print-access-token擷取存取權杖。在 Cloud Run 容器執行個體中,您可以使用容器執行個體中繼資料伺服器擷取存取權杖。 - 將 SERVICE-NAME 替換為服務名稱。
- REGION:服務的 Cloud de Confiance 區域。
- PROJECT-ID: Cloud de Confiance 專案 ID。
查看修訂版本詳細資料
控制台
如要在專案中查看修訂版本的詳細資料:
在服務清單中選取您的服務。
按一下「Revision history」(修訂版本記錄) 分頁標籤,即可查看該服務目前的修訂版本清單。
選取您感興趣的服務修訂版本。
查看最右側的詳細資料面板,瞭解修訂版本特定資訊,例如已部署容器映像檔的網址、分配的記憶體量、環境變數,以及建構和來源存放區資訊。
gcloud
如要在專案中查看修訂版本的詳細資料:
從專案可用服務清單中,尋找您的服務名稱。
gcloud run services list
使用下列指令,取得您剛才查詢的服務的所有修訂版本:
gcloud run revisions list --service SERVICE --region REGION
取代
- SERVICE 改為您的服務名稱。
- REGION:服務的 Cloud de Confiance 區域。
使用下列指令,查看特定修訂版本的詳細資料:
取代gcloud run revisions describe REVISION --region REGION
- 將 REVISION 替換為您要瞭解的修訂版本名稱。
- REGION:服務的 Cloud de Confiance 區域。
您可以使用
--format旗標設定輸出內容的格式。例如 YAML:gcloud run revisions describe REVISION --region REGION --format yaml
Cloud Code
如要使用 Cloud Code 查看修訂版本的詳細資料,請參閱 IntelliJ 和 Visual Studio Code 的 Cloud Run Explorer 指南。
用戶端程式庫
如要查看程式碼修訂版本的詳細資料,請按照下列步驟操作:
REST API
如要查看修訂版本的詳細資料,請向 Cloud Run Admin API revisions 端點傳送 GET HTTP 要求。
例如,使用 curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions/REVISION-NAME
更改項目:
- ACCESS_TOKEN,並為具備查看服務詳細資料 IAM 權限的帳戶提供有效的存取權杖。舉例來說,如果您已登入 gcloud,可以使用
gcloud auth print-access-token擷取存取權杖。在 Cloud Run 容器執行個體中,您可以使用容器執行個體中繼資料伺服器擷取存取權杖。 - 將 SERVICE-NAME 替換為服務名稱。
- REVISION-NAME:修訂版本的名稱。
- REGION:服務的 Cloud de Confiance 區域。
- PROJECT-ID: Cloud de Confiance 專案 ID。
請注意,非最新的修訂版本可能會顯示 RETIRED 狀態,這表示 Cloud Run 已淘汰該特定修訂版本所需的基礎架構。
「Details」(詳細資料) 面板中的建構和來源存放區資訊
如果已啟用 Artifact Analysis API,且容器是使用 Cloud Build 建構,則「Details」(詳細資料) 面板中會顯示建構資訊。
此外,如果容器是透過 Cloud Build 自動建構觸發條件建構,來源存放區資訊也會顯示在「Details」(詳細資料) 面板中。
刪除修訂版本
刪除修訂版本的常見用途,是確保不會意外使用特定修訂版本。
在下列情況下,您無法刪除修訂版本:
- 可以接收流量
- 這是服務的唯一修訂版本
- 是服務的最新修訂版本。
刪除修訂版本時,該版本使用的容器映像檔不會自動從 Container Registry 或 Artifact Registry 刪除。如要從登錄檔刪除容器映像檔,請參閱 Container Registry 或 Artifact Registry 的刪除操作說明。
修訂版本一經刪除即無法復原。
您可以使用控制台或指令列:
控制台
如要刪除修訂版本,請按照下列步驟操作:
在服務清單中找到該服務,然後按一下。
按一下「Revision history」(修訂版本記錄) 分頁標籤,即可查看該服務目前的修訂版本清單。
找出要刪除的服務修訂版本。
按一下修訂版本左側的三點垂直刪節號,然後按一下「Delete」(刪除),即可刪除修訂版本。
gcloud
如要刪除修訂版本,請使用下列指令:
gcloud run revisions delete REVISION --region REGION
取代
- 將 REVISION 替換為要刪除的版本名稱。
- REGION:服務的 Cloud de Confiance 區域。
用戶端程式庫
如要透過程式碼刪除修訂版本,請按照下列步驟操作:
REST API
如要刪除修訂版本,請向 Cloud Run Admin API revisions 端點傳送 DELETE HTTP 要求。
例如,使用 curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X DELETE \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions/REVISION-NAME
更改項目:
- ACCESS_TOKEN,並提供具備刪除服務 IAM 權限的帳戶有效存取權杖。舉例來說,如果您已登入 gcloud,可以使用
gcloud auth print-access-token擷取存取權杖。在 Cloud Run 容器執行個體中,您可以使用容器執行個體中繼資料伺服器擷取存取權杖。 - 將 SERVICE-NAME 替換為服務名稱。
- REVISION-NAME:修訂版本的名稱。
- REGION:服務的 Cloud de Confiance 區域。
- PROJECT-ID: Cloud de Confiance 專案 ID。
後續步驟
部署修訂版本後,您可以執行下列操作: