Azure 開發者 CLI(azd)提供兩種不同的工作流程來初始化模板以配合你的應用程式使用,包括:
- 使用目前目錄中的程式碼:此方法分析您的應用程式並自動產生支援的基礎設施與組態資源。
- 選擇範本:此方法允許您將現有範本整合到應用程式中,或以現有範本作為新應用程式的起點。
這兩種方法都在「建立 Azure 開發者 CLI 範本總覽」文件中探討。
在本文中,你將學習如何透過「azd」的方法,為你的應用程式新增對 Azure 開發者 CLI() 的支援。 請參考 「使用現有範本文件新增 azd 支援」 頁面,了解更多替代方法的資訊。 你也可以造訪「 訓練 - 建置與部署 azd 範本 」,了解更多建置 azd 範本的資訊。
使用目前目錄中的程式碼
你可以使用你自己的專案來按照接下來的步驟操作。 不過,如果你想用範例應用程式跟著操作,請將以下起始倉庫複製到電腦上的空目錄:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart打開一個終端機到專案的根目錄。
執行
azd init初始化範本的指令。azd init當提示時,選擇 「在目前目錄中使用程式碼」的選項。
azd分析專案並提供偵測到的服務摘要及推薦的 Azure 主機資源。選擇 確認並繼續初始化我的應用程式。
azd在專案根目錄中產生以下資產:- 一個
azure.yaml帶有適當服務定義的檔案。 - 一個
infra包含基礎設施即程式碼檔案的資料夾,用來配置並部署專案到 Azure。 - 一個
.azure資料夾,其環境變數設定於.env檔案中。
關於此檢測與生成過程的更多細節,文章後面會提供。
- 一個
產生的檔案可直接用於所提供的範例應用程式,也可能同樣適用於你自己的應用程式。 如有需要,生成的檔案可修改以符合您的需求。 例如,如果您的應用程式仰賴的 Azure 資源超出
azd所識別出的範圍,您可能需要進一步修改infra資料夾中的基礎結構即程式碼檔案。執行
azd up命令來配置並部署你的應用程式到 Azure。azd up當提示時,選擇想要的訂閱與地點,開始配置與部署流程。
完成後,點擊輸出中的
azd連結在瀏覽器中開啟應用程式。
探索初始化步驟
當你在目前目錄的工作流程中選擇 「使用程式碼 」時,指令 azd init 會分析你的專案並根據發現的內容自動產生程式碼。 以下章節將說明此流程的運作細節及目前支援的技術。
偵測
此 azd init 指令可偵測位於專案目錄及子目錄中支援語言的專案檔案。
azd 同時掃描套件相依關係,收集應用程式所使用的網頁框架或資料庫資訊。 如有需要,您可以依確認摘要提示手動新增或編輯偵測到的元件。
目前的偵測邏輯如下:
- 支援的語言:
- Python
- JavaScript/TypeScript
- .NET
- JAVA
- 支援資料庫:
- MongoDB
- PostgreSQL
- 對於 Python 和 JavaScript/TypeScript,網頁框架和資料庫會自動被偵測到。
- 當 JavaScript/TypeScript 專案使用前端(或用戶端)網頁框架時,它被歸類為前端服務。 如果您的服務使用目前未被偵測到的前端網頁框架,您可以選擇 JQuery 來提供等效的前端服務分類與行為。
世代
確認偵測到的元件後,azd init產生部署應用程式到 Azure 所需的基礎設施即程式碼檔案。
生成邏輯如下:
- 支援主機:
- Azure 容器應用程式.
- 對於資料庫而言,支援的資料庫技術與服務之間的對應方式如下:
- MongoDB: Azure CosmosDB API for MongoDB
- PostgreSQL:適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器
- Redis: Azure 容器應用程式 Redis add-on
- 使用資料庫的服務預設會有環境變數,提供與資料庫的連線。
- 當偵測到前端與後端服務時,Azure 主機上的 CORS 設定後端服務將更新,允許預設的前端服務主機網域。 這些設定可在基礎設施即程式碼(Infrastructure as Code)設定檔中必要修改或移除。
新增開發容器支援
你也可以讓你的範本與開發容器和程式碼空間相容。 開發容器讓你能將容器當作功能完整的開發環境使用。 它可用於執行應用程式、分離使用程式碼庫所需的工具、函式庫或執行環境,並協助持續整合與測試。 開發容器可以在本地或遠端執行,無論是在私有雲或公有雲中。 (資料來源: https://containers.dev/)
若要新增對 dev containers 的支援:
在專案根建立一個 .devcontainer 資料夾。
在
.devcontainer資料夾中建立一個具有所需設定的devcontainer.json檔案。azd入門範本提供一個範例devcontainer.json檔案,你可以複製到專案中,並視需要修改。
想了解更多關於開發容器的操作,請參考 Visual Studio Code 文件。
新增對 CI/CD 管線的支援
你也可以透過 GitHub 動作或 Azure DevOps 在範本中加入對 CI/CD 的支援,步驟如下:
在專案根目錄中新增
.github一個 GitHub 動作資料夾或.adoAzure DevOps 資料夾。在新資料夾中新增一個工作流程檔案。
azd入門範本提供各平台的 GitHub Actions 工作流程範例檔案及 Azure DevOps Pipelines 範例檔案。 你可以把這些檔案複製到你的專案中,並視需要修改它們。你可能還需要更新
main.parameters.json資料夾裡infra的檔案,加入工作流程所需的環境變數。