本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將新的應用程式版本部署至 App Runner
當您在 中建立服務時 AWS App Runner,您可以設定應用程式來源:容器映像或來源儲存庫。App Runner 會佈建資源來執行您的服務,並將您的應用程式部署至這些服務。
本主題說明當有新版本可用時,將應用程式來源重新部署至 App Runner 服務的方法。這可以是映像儲存庫中的新映像版本,或程式碼儲存庫中的新遞交。App Runner 提供兩種方法來部署至服務:自動和手動。
部署方法
App Runner 提供下列方法來讓您控制啟動應用程式部署的方式。
- 自動部署
-
當您想要服務持續整合和部署 (CI/CD) 行為時,請使用自動部署。App Runner 會監控您的映像或程式碼儲存庫是否有變更。
映像儲存庫 – 每當您將新的映像版本推送至映像儲存庫,或將新的遞交推送至程式碼儲存庫時,App Runner 會自動將其部署至您的服務,而不需要您採取進一步的動作。
程式碼儲存庫 – 每當您將新的遞交推送到在來源目錄中進行變更的程式碼儲存庫時,App Runner 都會部署整個儲存庫。由於來源目錄中的變更只會觸發自動部署,因此請務必了解來源目錄位置如何影響自動部署的範圍。
-
最上層目錄 (儲存庫根目錄) – 這是您建立服務時為來源目錄設定的預設值。如果您的來源目錄設定為此值,這表示整個儲存庫位於來源目錄中。因此,您推送到來源儲存庫的所有遞交都會在此情況下觸發部署。
-
任何不是儲存庫根目錄的目錄路徑 (非預設) – 因為只有在來源目錄中推送的變更才會觸發自動部署,因此任何推送到不在來源目錄中的儲存庫的變更都不會觸發自動部署。因此,您必須使用手動部署來部署您在來源目錄外推送的變更。
注意
App Runner 不支援 Amazon ECR 公有映像的自動部署,以及 Amazon ECR 儲存庫中屬於您服務所在之帳戶以外的其他 AWS 帳戶的映像。
-
- 手動部署
-
當您想要明確啟動服務的每個部署時,請使用手動部署。如果您為服務設定的儲存庫有您要部署的新版本,則您可以啟動部署。如需詳細資訊,請參閱手動部署。
注意
當您執行手動部署時,App Runner 會從完整的儲存庫部署來源。
您可以透過下列方式設定 服務的部署方法:
-
主控台 – 對於您正在建立的新服務或現有服務,請在來源和部署組態頁面的部署設定區段中,選擇手動或自動。
-
API 或 AWS CLI – 在呼叫 CreateService 或 UpdateService 動作時,將 SourceConfiguration 參數
AutoDeploymentsEnabled
的成員設定為True
False
,以進行手動部署或自動部署。
比較自動和手動部署
手動部署
使用手動部署時,您需要明確地啟動服務的每個部署。當您準備好要部署的新版本應用程式映像或程式碼時,您可以參閱下列章節,了解如何使用 主控台和 API 執行部署。
注意
當您執行手動部署時,App Runner 會從完整的儲存庫部署來源。
使用下列其中一種方法部署應用程式的版本:
使用 App Runner 主控台部署
-
開啟 App Runner 主控台
,然後在區域清單中選取您的 AWS 區域。 -
在導覽窗格中,選擇服務,然後選擇您的 App Runner 服務。
主控台會顯示具有服務概觀的服務儀表板。
-
選擇部署。
結果:新版本的部署開始。在服務儀表板頁面上,服務狀態會變更為進行中的操作。
-
等待部署結束。在服務儀表板頁面上,服務狀態應變更回執行中。
-
若要驗證部署是否成功,請在服務儀表板頁面上選擇預設網域值,這是服務網站的 URL。檢查您的 Web 應用程式或與之互動,並驗證您的版本變更。
注意
為了增強 App Runner 應用程式的安全性,*.awsapprunner.com 網域已在公有字尾清單 (PSL)
中註冊。為了進一步提高安全性,如果您需要在 App Runner 應用程式的預設網域名稱中設定敏感 Cookie,建議您使用具有 __Host-
字首的 Cookie。此做法將有助於保護您的網域免受跨站請求偽造 (CSRF) 攻擊。如需更多資訊,請參閱 Mozilla 開發人員網路中的設定 Cookie頁面。