VSTS构建定义适用于具有多个Web项目的解决方案

3

我有一个Visual Studio解决方案,其中包含两个Web项目。源代码托管在VSTS中,应用程序托管在Azure中。我已经设置了构建和发布管理以自动部署到Azure。

每次我提交更改时,都会触发两个发布流程,一个针对每个Web项目。是否有任何方法可以将它们分开?Web项目只应该在该文件夹检入时触发,API则应在该文件夹检入时触发。


你的文件夹结构是什么样子的?你的CI触发器是什么样子的? - Daniel Mann
我在解决方案文件夹下有两个Web项目。CI触发器位于主解决方案文件夹中。它会生成两个zip文件,一个用于每个Web项目。但这意味着对于单个更改,两个Web项目都将被部署。我想要的是有2个构建和发布定义,并且只有在该项目上进行检入时才进行部署。 - BeesNees
1个回答

2

您只需要更改每个Web项目路径的特定路径过滤器。更多信息,您可以参考构建定义触发器


我尝试的是为每个项目创建一个构建定义。在每个项目的存储库选项卡中,我会隐藏其他项目的文件夹。但是我没有得到任何输出。我猜你的意思是在触发器选项卡中添加一个排除路径? - BeesNees
@BeesNees 是的,我指的是触发器选项卡。关于没有输出的问题,您可以添加MSBuild参数:/p:OutputPath=”bin$(BuildConfiguration);更多信息,请查看此线程:http://stackoverflow.com/questions/42897988/build-separately-a-web-app-backend-in-a-xamarin-solution-using-vsts - starian chen-MSFT
我会尝试添加额外的触发器。当我隐藏第二个项目时,没有输出问题。否则,我会得到zip文件输出。 - BeesNees
@BeesNees 触发器用于 CI 构建(更改触发构建),您仍需要拥有两个构建定义并更改每个 Web 项目的触发器。您可以隐藏一个项目或将目标项目映射到构建代理。关于发布,将工件更改为链接到相应的构建定义。 - starian chen-MSFT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接