快速入門:從存放庫組建並部署至 Azure 容器應用程式
本文示範如何使用您選擇的程式設計語言,從 GitHub 存放庫組建微服務,並將其部署至 Azure 容器應用程式。 在這個快速入門中,您會建立樣本微服務,該服務會代表後端 Web API 服務,傳回靜態音樂專輯集合。
此範例應用程式可在兩個版本中使用。 其中一個版本的來源包含一個容器,其來源包含一個 Dockerfile。 另一個版本則沒有 Dockerfile。 請選取最能反映您原始程式碼的版本。 如果您不熟悉容器,請選取頂端的 [無 Dockerfile] 選項。
注意
您也可以從本地檔案系統組建及部署此樣本應用程式。 如需詳細資訊,請參閱從本地原始程式碼組建應用程式,並在 Azure 容器應用程式中部署。
以下螢幕擷取畫面顯示您部署之專輯 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.App
和 Microsoft.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
端點。
清除資源
如果您不打算繼續進行部署前端教學課程,您可以使用下列命令移除快速入門期間建立的 Azure 資源。
警告
下列命令會刪除指定的資源群組和其中包含的所有資源。 若群組包含本快速入門範圍以外的資源,則也會將其刪除。
az group delete --name $RESOURCE_GROUP
提示
有問題嗎? 在 Azure 容器應用程式存放庫中提出問題,讓我們在 GitHub 上了解該問題。
下一步
完成本快速入門之後,您可以繼續進行教學課程:Azure 容器應用程式中的微服務之間的通訊,以了解如何部署呼叫 API 的前端應用程式。