讓您的專案與 Azure 開發人員 CLI 相容

Azure 開發人員 CLI ( azd ) 可讓開發人員使用 GitHub 上裝載的範本 ,為雲端建構其應用程式。 Microsoft 提供數個 範本 來協助您開始使用。 在本文中,您將瞭解如何讓自己的應用程式 azd 相容。

瞭解範本架構

下圖提供建立 azd 範本的程式快速概觀:

Diagram of Azure Developer CLI template workflow.

所有 azd 範本都有相同的檔案結構,以慣例為基礎 azd 。 下列階層顯示您將在本教學課程中建置的目錄結構。

├── .azdo                                        [ Configures an Azure Pipeline ]
├── .devcontainer                                [ For DevContainer ]
├── .github                                      [ Configures a GitHub workflow ]
├── .vscode                                      [ VS Code workspace configurations ]
├── .azure                                       [ Stores Azure configurations and environment variables ]
├── infra                                        [ Contains infrastructure as code files ]
│   ├── main.bicep/main.tf                       [ Main infrastructure file ]
│   ├── main.parameters.json/main.tfvars.json    [ Parameters file ]
│   └── core/modules                             [ Contains reusable Bicep/Terraform modules ]
└── azure.yaml                                   [ Describes the app and type of Azure resources]

初始化範本

azd init命令可用來初始化您的應用程式,以在 Azure 上布建和部署應用程式資源。 此命令會提示您選擇兩個不同的工作流程,以初始化下列各節中所述的範本。

  • 使用目前目錄中 的程式碼:選取此選項可指示 azd 分析目錄中的程式碼,以識別其所使用的技術,例如程式設計語言、架構和資料庫系統。 azd 然後會自動為您產生範本資產,例如 azure.yaml 服務定義檔,以及 infra 具有基礎結構即程式碼檔案的資料夾。

  • 選取範本 :選取此選項以使用現有的範本作為起點。 根據預設, azd 可讓您從 Awesome AZD 資源庫流覽範本,但您也可以設定自己的範本資源庫。 當您選取範本時,該範本的資產將會新增至現有的專案目錄。

下列各節概述這些工作流程的詳細資料。

  1. 您可以使用自己的專案,遵循後續步驟。 不過,如果您想要繼續使用範例應用程式,請將下列入門存放庫複製到您電腦上的空白目錄:

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. 開啟您選擇的命令列工具至專案的根目錄。

  3. azd init執行 命令來初始化範本。

    azd init
    
  4. 出現提示時,選取 [ 使用目前目錄中 的程式碼] 選項。 azd 會分析專案,並提供偵測到的服務摘要和建議的 Azure 主控資源。

  5. 選取 [ 確認並繼續初始化我的應用程式 ]。 azd 在專案根目錄中產生下列資產:

    • azure.yaml具有適當服務定義的檔案。
    • infra具有基礎結構即程式碼檔案的資料夾,可布建專案並將其部署至 Azure。
    • .azure在檔案中 .env 設定環境變數的資料夾。

    本文稍後會提供此偵測和產生程式的詳細資料。

  6. 產生的檔案適用于提供的範例應用程式,也可以用於您自己的應用程式。 如有必要,可以修改產生的檔案以符合您的需求。 例如,如果您的應用程式依賴 Azure 資源超出 所 azd 識別的資源,您可能需要進一步修改 資料夾中的基礎結構即程式碼檔案 infra

  7. azd up執行 命令,以布建應用程式並將其部署至 Azure。

    azd up
    
  8. 出現提示時,選取所需的訂用帳戶和位置,以開始布建和部署程式。

  9. 當程式完成時,按一下輸出中的 azd 連結,以在瀏覽器中開啟應用程式。

探索初始化步驟

當您在目前目錄 工作流程中選取 [使用程式碼] 時, azd init 命令會根據專案探索的內容來分析專案並自動產生程式碼。 下列各節說明此程式運作方式的詳細資料,以及目前支援哪些技術。

偵測

命令 azd init 會偵測專案檔中位於專案目錄和子目錄中的支援語言。 azd 也會掃描套件相依性,以收集應用程式所使用的 Web 架構或資料庫的相關資訊。 如有需要,您可以手動新增或編輯偵測到的元件,如確認摘要提示所示。

目前的偵測邏輯如下所示:

  • 支援的語言:
    • Python
    • JavaScript/TypeScript
    • .NET
    • Java
  • 支援的資料庫:
    • MongoDB
    • PostgreSQL
  • 針對 Python 和 JavaScript/TypeScript,系統會自動偵測 Web 架構和資料庫。
  • 當 JavaScript/TypeScript 專案使用前端(或用戶端)Web 架構時,它會分類為前端服務。 如果您的服務使用目前未偵測到的前端 Web 架構,您可以選取 JQuery 來提供對等的前端服務分類和行為。

第幾代

確認偵測到的元件之後, azd init 會產生將應用程式部署至 Azure 所需的基礎結構即程式碼檔案。

產生邏輯如下所示:

  • 支援的主機:
    • Azure Container Apps。
  • 針對資料庫,使用的資料庫技術和服務之間支援的對應:
    • MongoDB:適用于 MongoDB 的 Azure CosmosDB API
    • PostgreSQL:適用於 PostgreSQL 的 Azure 資料庫彈性伺服器
    • Redis:Azure Container Apps Redis 附加元件
  • 使用資料庫的服務會有環境變數,預設會提供與預先設定之資料庫的連線。
  • 當偵測到前端和後端服務時,後端服務的 Azure 主機上的 CORS 組態將會更新,以允許前端服務的預設裝載網域。 這可以在基礎結構即程式碼組態檔中視需要修改或移除。

新增對開發容器的支援

您也可以讓範本與開發容器和 Codespaces 相容。 開發容器可讓您使用容器作為功能完整的開發環境。 它可用來執行應用程式、分隔使用程式碼基底所需的工具、程式庫或執行時間,以及協助持續整合和測試。 在私人或公用雲端中,開發容器可以在本機或遠端執行。 (來源: https://containers.dev/

若要新增對開發容器的支援:

  1. 在專案的根目錄建立 .devcontainer 資料夾。

  2. 使用 devcontainer.json 所需的組態在 .devcontainer 資料夾內建立檔案。 入門 azd 範本提供 範例 devcontainer.json 檔案,您可以複製到專案並視需要修改。

深入瞭解 如何在 Visual Studio Code 檔中使用開發容器

新增 CI/CD 管線的支援

您也可以使用 GitHub 動作或 Azure DevOps,在範本中新增 CI/CD 的支援,請使用下列步驟:

  1. .github將 GitHub 動作的資料夾或 .ado Azure DevOps 的資料夾新增至專案的根目錄。

  2. 將工作流程檔案新增至新資料夾。 入門 azd 範本會針對每個平臺提供 範例 GitHub Actions 工作流程檔案 範例 Azure DevOps Pipelines 檔案,您可以視需要複製到專案並修改。

  3. 您可能也需要使用工作流程執行所需的環境變數來更新 main.parameters.json 資料夾中的檔案 infra

設定 CI/CD 管線

如果您的範本包含 GitHub Actions 或 Azure Pipelines 的支援,您可以使用下列步驟來設定 CI/CD 管線:

  1. 執行下列命令,將更新推送至存放庫。 GitHub Actions 工作流程會因為更新而觸發。

    azd pipeline config    
    
  2. 使用瀏覽器,移至專案的 GitHub 存放庫。

  3. 選取 [ 動作 ] 以查看工作流程正在執行。

清除資源

當您不再需要本文中建立的資源時,請執行下列命令:

azd down

另請參閱

要求說明

如需如何提出 Bug、要求協助或為 Azure 開發人員 CLI 提出新功能的資訊,請流覽 疑難排解和支援 頁面。

下一步