Remotion LabRemotion Lab
Cloud Run升級 Cloud Run

升級 Cloud Run

說明如何將 Remotion Cloud Run 升級到最新版本,包含套件更新、服務重新部署及零停機升級的步驟。

升級 Cloud Run

實驗性功能:Cloud Run 目前處於 Alpha 狀態,並未積極開發中。

升級步驟

1. 確認最新版本

Releases 頁面確認最新版本。

2. 升級所有套件

將所有套件升級到最新版本(包括 @remotion/cloudrun,以及 remotion@remotion/cli 等):

npx remotion upgrade

升級後,您的 package.json 應類似如下:

{
  "@remotion/bundler": "4.0.1",
  "@remotion/renderer": "4.0.1",
  "@remotion/cloudrun": "4.0.1",
  "remotion": "4.0.1"
}

3. (可選)移除舊版服務

注意:僅在服務不再使用時才執行此步驟。若您仍在生產環境中使用,可跳過此步驟。

npx remotion cloudrun services rmall -y

4. 部署最新版本的 Cloud Run 服務

npx remotion cloudrun services deploy

5. 更新站點

npx remotion cloudrun sites create src/index.ts --site-name=my-name

傳入 --site-name 並指定現有站點名稱,即可更新該站點。URL 將保持不變,但舊版服務可能無法渲染已更新的站點。

若不傳入 --site-name,則會產生新的站點 URL。您需要更新 renderMediaOnCloudrun() 呼叫中的 serveUrl 參數。舊版已部署的服務仍可透過指定舊的 serve URL 進行渲染。

區隔生產與測試環境

如果您已將 Remotion Cloud Run 部署到生產環境,可以按照以下步驟進行零停機升級:

  • 每個已部署的服務都有一個版本(可使用 npx remotion cloudrun services ls 查看)。使用與 @remotion/cloudrun 套件相同版本來呼叫函數。

  • 您可以同時部署多個不同版本的服務。使用 compatibleOnly 參數找到與 @remotion/cloudrun 套件版本相符的服務。

  • 站點(serveUrl)也與版本相關。使用與渲染時相同的 Remotion 版本建立站點。若版本不相符且沒有不相容之處,Remotion 可以容忍,但會發出警告,提醒您捆綁站點中可能沒有所有最新功能和錯誤修正。

零停機升級流程

  1. 部署新服務版本,舊服務保持不變
  2. 建立新站點版本(使用新的 site-name 或更新現有站點)
  3. 在測試環境中驗證新版本
  4. 將應用程式中的服務名稱和 serveUrl 更新為新版本
  5. 發布應用程式更新
  6. 確認舊版本上沒有進行中的渲染後,移除舊服務

常用指令

# 列出所有已部署的服務
npx remotion cloudrun services ls
 
# 列出所有已部署的站點
npx remotion cloudrun sites ls
 
# 移除特定服務
npx remotion cloudrun services rm <service-name>

另請參閱