升級 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 -y4. 部署最新版本的 Cloud Run 服務
npx remotion cloudrun services deploy5. 更新站點
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 可以容忍,但會發出警告,提醒您捆綁站點中可能沒有所有最新功能和錯誤修正。
零停機升級流程
- 部署新服務版本,舊服務保持不變
- 建立新站點版本(使用新的
site-name或更新現有站點) - 在測試環境中驗證新版本
- 將應用程式中的服務名稱和
serveUrl更新為新版本 - 發布應用程式更新
- 確認舊版本上沒有進行中的渲染後,移除舊服務
常用指令
# 列出所有已部署的服務
npx remotion cloudrun services ls
# 列出所有已部署的站點
npx remotion cloudrun sites ls
# 移除特定服務
npx remotion cloudrun services rm <service-name>