部署新的應用程式版本到應用程式執行 - AWS App Runner

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

部署新的應用程式版本到應用程式執行

當您在中建立服務時 AWS App Runner,可以設定應用程式來源 — 容器映像或來源存放庫。應用程序運行佈建資源來運行您的服務,並將您的應用程序部署到他們。

本主題說明當新版本可用時,將應用程式來源重新部署至 App Runner 服務的方法。這可以是映像存儲庫中的新映像版本,也可以是代碼存儲庫中的新提交。應用程序 Runner 提供了兩種方法來部署到服務:自動動。

部署方法

App Runner 提供下列方法,讓您控制應用程式部署的起始方式。

自動部署

當您想要服務的持續整合與部署 (CI/CD) 行為時,請使用自動部署。應用程序運行器監視您的圖像或代碼存儲庫的更改。

圖像存儲庫 — 每當您將新的映像版本推送到映像存儲庫,或將新的提交推送到代碼存儲庫時,App Runner 都會自動將其部署到您的服務,而無需採取進一步的操作。

代碼存儲庫-每當您將新的提交推送到代碼存儲庫中進行更改的源目錄時,App Runner 都會部署您的整個存儲庫。因為只有來源目錄中的變更才會觸發自動部署,因此請務必瞭解來源目錄位置如何影響自動化部署的範圍。

  • 頂層目錄 (存放庫根目錄) — 這是您建立服務時為來源目錄設定的預設值。如果您的源目錄設置為此值,這意味著整個存儲庫位於源目錄中。因此,在這種情況下,您推送到源存儲庫的所有提交都將觸發部署。

  • 任何不是儲存庫根目錄的目錄路徑 (非預設值) — 因為只有在來源目錄內推送的變更才會觸發自動部署,所以推送至儲存庫在來源目錄中的任何變更都不會觸發自動部署。因此,您必須使用手動部署來部署您在來源目錄之外推送的變更。

注意

應用程式執行器不支援 Amazon ECR 公開映像檔的自動部署,以及 Amazon ECR 儲存庫中屬於與您服務所在 AWS 帳戶不同的帳戶的映像。

手動部署

當您想要明確地初始化服務的每個部署時,請使用手動部署。如果您為服務設定的存放庫具有您要部署的新版本,則可以啟動部署。如需詳細資訊,請參閱 手動部署

注意

當您執行手動部署時,App Runner 會從完整存放庫部署來源。

您可以使用下列方式設定服務的部署方法:

  • 主控台 — 對於您正在建立的新服務或現有服務,請在 [來源和部署設定] 頁面的 [部署設定] 區段中,選擇 [動] 或 [自動]。

    應用運行器部署方法配置
比較自動與手動部署

自動和手動部署都會產生相同的結果:這兩種方法都會部署完整存放庫。

這兩種方法之間的區別在於觸發機制:

  • 手動部署是透過主控台的部署、呼叫或呼叫 App Runner API 來觸發。 AWS CLI接下來的手動部署章節提供了這些程序的程序。

  • 自動部署是由來源目錄內容中的變更觸發。

手動部署

透過手動部署,您需要明確地啟動服務的每個部署。當您準備好要部署的新版應用程式映像檔或程式碼時,您可以參考以下各節,瞭解如何使用主控台和 API 執行部署。

注意

當您執行手動部署時,App Runner 會從完整存放庫部署來源。

使用下列其中一種方法部署應用程式版本:

App Runner console
若要使用應用程式執行程式主控台
  1. 開啟應用程式執行器主控台,然後在 [區域] 清單中選取您的 AWS 區域.

  2. 在功能窗格中,選擇 [服務],然後選擇您的應用程式執行器服務。

    主控台會顯示服務儀表板,其中包含服務概觀

    顯示活動清單的 App Runner 服務儀表板頁
  3. 選擇部署

    結果:開始部署新版本。在服務儀表板頁面上,服務狀會變更為 [作業進行中]。

  4. 等待部署結束。在服務儀表板頁面上,服務狀態應變回執行中。

  5. 若要驗證部署是否成功,請在服務儀表板頁面上,選擇預設網域值 — 這是您服務網站的 URL。檢查您的 Web 應用程式或與其互動,並驗證您的版本變更。

    注意

    為了增強應用程式執行器應用程式的安全性,*.awsapprunner.com 網域註冊在公用尾碼清單 (PSL) 中。為了進一步的安全性,如果您需要在 App Runner 應用程式的預設網域名稱中設定敏感性 Cookie,建議您使用__Host-前置詞的 Cookie。此做法將有助於保護您的網域免受跨站請求偽造 (CSRF) 攻擊。如需更多資訊,請參閱 Mozilla 開發人員網路中的設定 Cookie 頁面。

App Runner API or AWS CLI

若要使用應用程式執行器 API 進行部署 AWS CLI,或呼叫 StartDeploymentAPI 動作。唯一要傳遞的參數是您的服務 ARN。您在建立服務時已設定應用程式來源位置,而 App Runner 可以尋找新版本。如果呼叫傳回成功的回應,您的部署就會開始。