簡體   English   中英

使用visual studio團隊服務構建包含多個Web應用程序的解決方案,並將這些Web應用程序部署到azure

[英]using visual studio team services to build a solution containing multiple web apps and deploy these web apps to azure

我的團隊使用Visual Studio Team Services來管理TFS存儲庫中的源代碼。 該解決方案包含多個Web應用程序 我正在嘗試為此解決方案配置持續集成和持續部署,以便在成功構建后將每個Web應用程序部署到正確的Azure Web應用程序。 我已經將BuildDefinition配置為構建$ / MyProduct / MAIN / MySolution.sln。 我已根據我在此主題上找到的一些MSDN文章為MSBuild定義了以下參數:

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

構建步驟包括Visual Studio構建步驟,Visual Studio測試步驟(當前禁用以最小化復雜性),索引源和發布符號步驟(我認為我不需要),最后是復制和發布構建文物步驟。

我可以使用此配置構建此解決方案。 我可以看到構建結果,構建日志,構建細節等。當我查看創建的工件時,我看到兩個工件:“drop”和“build.sourceLabel”如果我使用Artifacts Explorer瀏覽drop文件,我在這個drop文件中找到了我的所有項目,對於web應用程序項目,我可以導航到webapp1 \\ obj \\ QA \\ Package \\ PackageTemp \\ bin文件夾,並查看Web應用程序的所有DLL等。

我沒有看到的是每個Web應用程序的一個zip文件,這是Visual Studio Team Services的Release功能所期望的。

我想知道如何修改我當前的配置,以便我可以從Build步驟生成正確的工件,這樣我就可以創建正確的Release Wep App Deployment任務,將每個Web應用程序部署到我環境中正確的Web應用程序。

這一切都是使用Visual Studio 2015和Visual Studio Online(團隊服務)完成的。

為了測試您的情況,我使用了Visual Studio 2015並在同一解決方案中創建了3個新的Web項目並檢入了VSTS。 然后,我使用Azure網站部署模板創建了一個新版本。 很多人都想念我們在Create New Build Definition對話框中有Build和Deployment模板。 我使用Azure網站模板的原因是因為我永遠不會記住要傳入的msbuild參數。如果要使用RM,只需刪除Azure Web App部署任務即可。

我總是對msbuild參數做出的一個改變是PackageLocation。 我總是將我改為$(BuildConfiguration)。 這樣我可以根據需要同時構建Debug和Release。

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(BuildConfiguration)"

最后,我更改了Copy and Publish Build Artifacts任務,只搜索“** \\ * .zip”。 將Copy Root保留為空並運行構建。 當您的構建完成時,在瀏覽工件時,[ProjectName] / [Configuration] /projectName.zip下的每個項目都會有一個zip。

在此輸入圖像描述

如果您還有其他問題,可以在Twitter @DonovanBrown上ping我

暫無
暫無

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

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