簡體   English   中英

解決方案中用於Web項目的TFS 2015“ vNext”構建

[英]TFS 2015 “vNext” Build for web project in solution

我正在嘗試在TFS 2015上建立vNext構建定義(該項目實際上是一個.NET 4.6.1 Web項目,但是我想使用新的TFS構建設置)。 我正在努力尋找有關僅在解決方案中部署特定Web項目的文檔(2個Web項目,3個類庫和后續測試)。

在XAML構建方法中,我將在Process> 2. Build> Projects輸入中指定與構建相關的.sln和.csproj文件。 “ Visual Studio構建”步驟不允許以相同的方式輸入多個項目,這似乎就是我遇到的問題。 如果僅指定.csproj,則不會還原Nuget軟件包,並且構建失敗。

是否有僅通過這些vNext版本部署C#Web項目(.csproj)的已知文檔?

以前在XAML Build中使用的MSBuild參數:

/p:AllowUntrustedCertificate=True /p:AuthType=NTLM /p:Configuration=Development /p:DeployOnBuild=True /p:PublishProfile="DEV" /toolsversion:14.0 /p:VisualStudioVersion=14.0 /p:GenerateBuildInfoConfigFile=false

我正在尋找的解決方案將完成以下任務:

  1. 至少使用項目依賴項來構建Web.csproj
  2. 恢復Nuget軟件包
  3. 轉換網絡配置
  4. 理想情況下,通過Web部署將Web項目部署到兩個單獨的服務器(非Azure!)

非常感謝您的任何幫助。 希望這是可能的!

注意:我不在Azure上,也不可以選擇Azure。 我知道有大量針對Azure用戶的已記錄的用例場景,這很好,但是,是的。

您可以在構建定義的頂部添加“ NuGet安裝程序”任務,以還原解決方案的nuget程序包,並在Visual Studio構建步驟中指定.csproj。 在此處輸入圖片說明

如果要構建整個解決方案,則可以在“ MSBuild Arguments”中添加以下參數:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"

這將在“ $(build.artifactstagingdirectory)\\”文件夾中分別為您的項目創建部署程序包,如下所示: 在此處輸入圖片說明

然后,您可以為要部署的項目選擇包。 使用部署包,您可以在構建定義中添加兩個“命令行”任務,並在“ $(build.artifactstagingdirectory)\\”文件夾下調用“ Project.deploy.cmd”,以將項目部署到服務器。 關於從命令部署的參考: 執行命令文件 如果配置正確,默認情況下將轉換Web.config。

順便說一句,我建議您使用發布管理系統來部署項目,而不是在構建中進行部署。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM