Mic*_*ulz 12 asp.net azure azure-devops
我的团队使用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)"
Run Code Online (Sandbox Code Playgroud)
构建步骤包括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(团队服务)完成的.
小智 22
为了测试您的情况,我使用了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)"
Run Code Online (Sandbox Code Playgroud)
最后,我更改了Copy and Publish Build Artifacts任务,只搜索"**\*.zip".将Copy Root保留为空并运行构建.当您的构建完成时,在浏览工件时,[ProjectName]/[Configuration] /projectName.zip下的每个项目都会有一个zip.
如果您还有其他问题,可以在Twitter @DonovanBrown上ping我
| 归档时间: |
|
| 查看次数: |
4623 次 |
| 最近记录: |