使用 .NET Framework 建置 ASP.NET 應用程式
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018
注意
在 Microsoft Team Foundation Server (TFS) 2018 和舊版中,組建和發行管線稱為定義、執行稱為組建、服務連線稱為服務端點、階段稱為環境,而作業稱為階段。
注意
本文著重于使用 Azure Pipelines 建置.NET Framework專案。 如需 .NET Core 專案的協助,請參閱 .NET Core。
建立您的第一個管線
您不熟悉 Azure Pipelines 嗎? 若是如此,建議您先嘗試本節,再移至其他區段。
取得程式碼
在 GitHub 派生下列存放庫:
在 Azure DevOps Server 2019 中將此存放庫匯入 Git 存放庫:
將此存放庫匯入 TFS 中的 Git 存放庫:
https://github.com/Azure-Samples/app-service-web-dotnet-get-started
範例應用程式是使用 .NET 4.8 的 Visual Studio 解決方案。
登入 Azure Pipelines
登入 Azure Pipelines。 登入之後,您的瀏覽器會前往 https://dev.azure.com/my-organization-name
並顯示您的 Azure DevOps 儀表板。
在您選取的組織內,建立一個「專案」。 如果您的組織中沒有任何專案,您會看到 [建立專案開始使用] 畫面。 否則,請選取儀表板右上角的 [新建專案] 按鈕。
注意
此案例適用于 TFS,但下列部分指示可能不符合您使用的 TFS 版本。 此外,您也需要設定自我裝載代理程式,也可能安裝軟體。 如果您是新的使用者,請先使用免費的 Azure DevOps 組織來嘗試此程式,以取得更好的學習體驗。 然後將此頁面左上角的選取器從 Team Foundation Server 變更為 Azure DevOps。
在您擁有自己的存放庫中的範例程式碼之後,請使用 建立第一個管線 中的指示建立管線,然後選取 ASP.NET 範本。 這會自動新增在範例存放庫中建置程式碼所需的工作。
儲存管線並將組建排入佇列,以查看其實際操作。
建置環境
您可以使用 Azure Pipelines 來建置.NET Framework專案,而不需要設定您自己的任何基礎結構。 Azure Pipelines 中的 Microsoft 裝載代理程式 已預先安裝數個已發行的 Visual Studio 版本,可協助您建置專案。
windows-2022
搭配 Visual Studio 2022 使用 Windows Server 2022
您也可以使用 自我裝載代理程式 來執行組建。 如果您有大型存放庫,而且想要避免將原始程式碼下載到每個組建的新機器,這會很有説明。
您的組建會在 自我裝載代理程式上執行。 請確定您已在代理程式上安裝必要的 Visual Studio 版本。
建置多個組態
通常需要在多個組態中建置您的應用程式。 下列步驟擴充上述範例,以四個設定建置應用程式:[Debug, x86], [Debug, x64], [Release, x86], [Release, x64]。
按一下 [ 變數] 索引 標籤,並修改這些變數:
BuildConfiguration
=debug, release
BuildPlatform
=x86, x64
選取 [ 工作 ],然後按一下 代理程式作業 以變更作業的選項:
- 選取 [多重組態]。
- 指定 乘數:
BuildConfiguration, BuildPlatform
如果您有多個組建代理程式,並想要平行建置您的設定/平臺配對,請選取 [ 平行 ]。
還原相依性
您可以使用 NuGet 工作 來安裝和更新 NuGet 套件相依性。 您也可以使用 NuGet 工作,從 Azure Artifacts、NuGet.org 或其他外部或內部 NuGet 存放庫下載 NuGet 套件。
此程式碼會從相同組織中的專案範圍摘要還原方案。
# Restore from a project scoped feed in the same organization
- task: NuGetCommand@2
inputs:
command: 'restore'
feedsToUse: 'select'
vstsFeed: 'my-project/my-project-scoped-feed'
includeNuGetOrg: false
restoreSolution: '**/*.sln'