管理修訂版本

當您部署到服務或變更服務的設定時,系統會建立不可變更的修訂版本。

修訂版須符合下列注意事項:

  • 您可以指定新修訂版本是否接收所有、部分或完全不接收流量,也可以漸進式推出新修訂版本、在多個修訂版本之間拆分流量,以及從修訂版本復原。詳情請參閱「復原、漸進式推出及流量遷移」。
  • 您可以選擇使用修訂版本標記來測試未提供流量的修訂版本。
  • 您不必手動刪除修訂版本,但也可以這麼做。
  • 未放送的修訂版本不會耗用任何資源,也不會產生費用。
  • 每項服務最多可保留 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 服務會與Google Cloud API 互動 (例如 Cloud 用戶端程式庫),請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱「部署權限」和「管理存取權」。

查看服務的修訂版本清單

控制台

在專案中查看修訂版本清單:

  1. 前往 Cloud Run

  2. 在服務清單中找出所需服務,然後按一下該服務。

  3. 按一下「Revisions」分頁,即可查看該服務的目前修訂版本清單。

    修訂版本清單

gcloud

如要查看特定服務的修訂版本清單:

  1. 從專案可用服務清單中,尋找您的服務名稱。

    gcloud run services list
  2. 使用下列指令來取得剛找到的服務的所有修訂版本:

    gcloud run revisions list --service SERVICE --region REGION

    取代

    • SERVICE 改為您的服務名稱。
    • REGION 改為服務的 Google Cloud 區域。

Cloud Code

如要透過 Cloud Code 查看修訂版本清單,請參閱 IntelliJVisual 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 改為服務的 Google Cloud 區域。
  • PROJECT-ID 與 Google Cloud 專案 ID。

查看修訂版本詳細資料

控制台

如要在專案中查看修訂版本的詳細資料:

  1. 前往 Cloud Run

  2. 在服務清單中選取所需服務。

  3. 按一下「Revisions」分頁,即可查看該服務的目前修訂版本清單。

  4. 選取您要的服務修訂版本:

  5. 查看最右側的「DETAILS」面板,瞭解修訂版本特定資訊,例如已部署容器映像檔的網址、配置的記憶體容量、環境變數,以及可能的建構和來源存放區資訊

    圖片

gcloud

如要在專案中查看修訂版本的詳細資料:

  1. 從專案可用服務清單中,尋找您的服務名稱。

    gcloud run services list

  2. 使用下列指令取得剛查詢的服務的所有修訂版本:

    gcloud run revisions list --service SERVICE --region REGION

    取代

    • SERVICE 改為您的服務名稱。
    • REGION 改為服務的 Google Cloud 區域。
  3. 使用下列指令查看特定修訂版本的更多詳細資料:

    gcloud run revisions describe REVISION --region REGION
    取代

    • REVISION 改為您要進一步瞭解的修訂版本名稱。
    • REGION 改為服務的 Google Cloud 區域。

    您可以使用 --format 標記設定輸出格式。例如使用 YAML:

    gcloud run revisions describe REVISION --region REGION --format yaml

Cloud Code

如要透過 Cloud Code 查看修訂版本的詳細資料,請參閱 IntelliJVisual 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/REVISION-NAME

取代:

  • ACCESS_TOKEN 搭配有效的存取權杖,該帳戶具備查看服務詳細資料的 IAM 權限。舉例來說,如果您已登入 gcloud,可以使用 gcloud auth print-access-token 擷取存取權權杖。您可以在 Cloud Run 容器執行個體中,使用容器執行個體中繼資料伺服器擷取存取權杖。
  • SERVICE-NAME 改為服務名稱。
  • REVISION-NAME 替換為修訂版本名稱。
  • REGION 改為服務的 Google Cloud 區域。
  • PROJECT-ID 與 Google Cloud 專案 ID。

請注意,非最新的修訂版本可能會顯示 RETIRED 狀態,這表示 Cloud Run 已淘汰該特定修訂版本所需的基礎架構。

關於「Details」面板中的建構和來源存放區資訊

如果已啟用 Artifact Analysis API,且容器是使用 Cloud Build 建構,則建構資訊會顯示在「Details」面板中。

此外,如果您使用 Cloud Build 觸發條件建構容器,來源存放區資訊也會顯示在「Details」面板中。

刪除修訂版本

刪除修訂版本的常見用途是確保特定修訂版本不會遭到誤用。

在下列情況下,您無法刪除修訂版本:

  • 能夠接收流量,
  • 這是服務的唯一修訂版本,
  • 這是服務的最新修訂版本。

刪除修訂版本時,該修訂版本使用的容器映像檔並不會從 Container Registry 或 Artifact Registry 中自動刪除。如要從註冊資料庫刪除容器映像檔,請參閱 Container RegistryArtifact Registry 的刪除操作說明。

修訂版本一經刪除即無法復原。

您可以使用主控台或指令列:

控制台

如何刪除修訂版本

  1. 前往 Cloud Run

  2. 在服務清單中找出所需服務,然後按一下該服務。

  3. 按一下「Revisions」分頁,即可查看該服務的目前修訂版本清單。

  4. 找出要刪除的服務修訂版本。

  5. 按一下修訂版本左側的三點垂直橢圓,即可顯示「Delete」選單。

    revision-delete

  6. 按一下「刪除」即可刪除修訂版本。

gcloud

如要刪除修訂版本,請使用下列指令:

gcloud run revisions delete REVISION --region REGION

取代

  • REVISION 改為要刪除的修訂版本名稱。
  • REGION 改為服務的 Google Cloud 區域。

用戶端程式庫

如要從程式碼中刪除修訂版本,請按照下列步驟操作:

REST API

如要刪除修訂版本,請將 DELETE HTTP 要求傳送至 Cloud Run Admin API revisions 端點

例如使用 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 改為服務的 Google Cloud 區域。
  • PROJECT-ID 與 Google Cloud 專案 ID。

後續步驟

部署修訂版本後,您可以執行下列操作: