繁体   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