共用方式為


快速入門:從存放庫組建並部署至 Azure 容器應用程式

本文示範如何使用您選擇的程式設計語言,從 GitHub 存放庫組建微服務,並將其部署至 Azure 容器應用程式。 在這個快速入門中,您會建立樣本微服務,該服務會代表後端 Web API 服務,傳回靜態音樂專輯集合。

此範例應用程式可在兩個版本中使用。 其中一個版本的來源包含一個容器,其來源包含一個 Dockerfile。 另一個版本則沒有 Dockerfile。 請選取最能反映您原始程式碼的版本。 如果您不熟悉容器,請選取頂端的 [無 Dockerfile] 選項。

注意

您也可以從本地檔案系統組建及部署此樣本應用程式。 如需詳細資訊,請參閱從本地原始程式碼組建應用程式,並在 Azure 容器應用程式中部署

以下螢幕擷取畫面顯示您部署之專輯 API 服務的輸出。

來自專輯 API 端點的回應螢幕擷取畫面。

必要條件

若要完成此專案,您需要下列項目:

需求 指示
Azure 帳戶 如果您沒有帳戶,可免費建立帳戶。 您需要 Azure 訂用帳戶的「參與者」或「擁有者」權限才能繼續。

如需詳細資料,請參閱使用 Azure 入口網站指派 Azure 角色
GitHub 帳戶 建立免費帳戶
git 安裝 git
Azure CLI 安裝 Azure CLI

設定

若要從 CLI 登入 Azure,請執行下列命令,並遵循提示來完成驗證流程。

az login

若要確定您執行的是最新版本 CLI,請執行升級命令。

az upgrade

接下來,安裝或更新 CLI 的 Azure 容器應用程式延伸模組。

如果您在 Azure CLI 中執行 az containerapp 命令或 Azure PowerShell 模組中的 Cmdlet Az.App 時收到遺漏參數的錯誤,請確定您已安裝最新版的 Azure 容器應用程式延伸模組。

az extension add --name containerapp --upgrade

注意

從 2024 年 5 月開始,Azure CLI 延伸模組預設不會再啟用預覽功能。 若要存取容器應用程式預覽功能,請使用 --allow-preview true 安裝容器應用程式延伸模組。

az extension add --name containerapp --upgrade --allow-preview true

現在已安裝目前的延伸模組或模組,請註冊 Microsoft.AppMicrosoft.OperationalInsights 命名空間。

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

建立環境變數

現在您的 Azure CLI 設定已完成,接下來您可以定義本文中使用的環境變數了。

在您的 Bash 殼層中定義下列變數。

export RESOURCE_GROUP="album-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-album-containerapps"
export API_NAME="album-api"
export GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"

執行此命令之前,請務必將 <YOUR_GITHUB_USERNAME> 取代為您的 GitHub 使用者名稱。

接下來,定義唯一的容器登錄名稱。

export ACR_NAME="acaalbums"$GITHUB_USERNAME

準備 GitHub 存放庫

在瀏覽器視窗中前往慣用語言的 GitHub 存放庫,並派生存放庫。

選取專輯 API 存放庫頂端的 [派生] 按鈕,將存放庫派生至您的帳戶。 然後複製存放庫 URL,以在下一個步驟中使用。

在瀏覽器視窗中前往慣用語言的 GitHub 存放庫,並派生包含分支的存放庫。

選取專輯 API 存放庫頂端的 [派生] 按鈕,將存放庫派生至您的帳戶。 取消核取 [只複製 main 分支],以同時派生 buildpack 分支。


組建並部署容器應用程式

使用 containerapp up 命令,從派生的 GitHub 存放庫組建及部署您的第一個容器應用程式。 這個命令會:

  • 建立資源群組
  • 使用 Log Analytics 工作區建立 Azure 容器應用程式環境
  • 建立 Azure Container Registry
  • 建立 GitHub 動作工作流程,以組建和部署容器應用程式
  • 建立資源群組
  • 使用 Log Analytics 工作區建立 Azure 容器應用程式環境
  • 自動建立預設登錄,作為您環境的一部份
  • 建立 GitHub 動作工作流程,以組建和部署容器應用程式

當您將新程式碼推送至存放庫時,GitHub 動作會:

  • 組建容器映像,並推送至 Auzre Container Registry
  • 將容器映像部署至建立好的容器應用程式

up 命令會使用存放庫根目錄中的 Dockerfile 來組建容器映像。 Dockerfile 中的 EXPOSE 指令會定義目標連接埠。 不過,不需要 Docker 檔案即可組建容器應用程式。

  • 自動偵測語言和執行階段
  • 使用適當的 Buildpack 組建映像
  • 將映像推送至 Azure 容器應用程式預設登錄

容器應用程式必須可供輸入流量存取。 請務必公開連接埠 8080,以接聽傳入要求。

在以下命令中,以 https://github.com/<OWNER>/<REPOSITORY-NAME><OWNER>/<REPOSITORY-NAME> 格式,將 <YOUR_GITHUB_REPOSITORY_NAME> 取代為您的 GitHub 存放庫名稱。

在以下命令中,以 https://github.com/<OWNER>/<REPOSITORY-NAME><OWNER>/<REPOSITORY-NAME> 格式,將 <YOUR_GITHUB_REPOSITORY_NAME> 取代為您的 GitHub 存放庫名稱。 使用 --branch buildpack 選項指向不含 Dockerfile 的樣本來源。

az containerapp up \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --context-path ./src \
  --repo <YOUR_GITHUB_REPOSITORY_NAME>
az containerapp up \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --context-path ./src \
  --ingress external \
  --target-port 8080 \
  --repo <YOUR_GITHUB_REPOSITORY_NAME>
  --branch buildpack
  --

使用終端中顯示的 URL 和使用者程式碼,移至瀏覽器中的 GitHub 裝置啟用頁面,然後在頁面中輸入使用者程式碼。 請遵循提示來授權 Azure CLI 存取您的 GitHub 存放庫。

up 命令會在存放庫的 .github/workflows 資料夾中建立 GitHub 動作工作流程。 當您將變更推送至存放庫時,會觸發工作流程來組建和部署您的容器應用程式。


驗證部署

containerapp up 傳回的網域名稱複製到網頁瀏覽器。 從網頁瀏覽器,前往 URL 的/albums 端點。

來自專輯 API 端點的回應螢幕擷取畫面。

清除資源

如果您不打算繼續進行部署前端教學課程,您可以使用下列命令移除快速入門期間建立的 Azure 資源。

警告

下列命令會刪除指定的資源群組和其中包含的所有資源。 若群組包含本快速入門範圍以外的資源,則也會將其刪除。

az group delete --name $RESOURCE_GROUP

提示

有問題嗎? 在 Azure 容器應用程式存放庫中提出問題,讓我們在 GitHub 上了解該問題。

下一步

完成本快速入門之後,您可以繼續進行教學課程:Azure 容器應用程式中的微服務之間的通訊,以了解如何部署呼叫 API 的前端應用程式。