【发布时间】:2021-02-10 19:54:00
【问题描述】:
我在同一个分支中有服务器端(使用 c# 的 web api)和客户端(角度)代码。我已经为服务器端和客户端代码创建了单独的阶段来构建,以及另一个阶段来部署。如果我在客户端或服务器端签入代码,所有 3 个阶段都会运行。为避免这种情况,我正在寻找在阶段级别添加条件的方法,以便如果有服务器端更改,则只有服务器阶段将运行,如果签入的代码只有客户端代码,则只有客户端阶段将运行。我不明白如何检查签入了哪些文件。我在搜索时发现了类似的问题,但使用 git 给出了解决方案。我在 azure-repos 中有我的代码。有什么办法可以让我根据文件夹检查是否有变化,并在阶段的条件下进一步使用它。像这样的:
stages:
- stage: 'Server'
condition:
- stage: 'Client'
condition:
提前致谢。
【问题讨论】:
-
azure-repos 也使用 git,所以你使用的是 git。
-
@ShaykiAbramczyk 我指的是stackoverflow.com/questions/53227343/… 中提到的解决方案。它似乎不适合我。
-
@ShaykiAbramczyk 提供的链接是您的方式。每个阶段没有路径过滤器。如果您想简化这一点,您需要为客户端和服务器创建单独的管道,并在触发器上使用不同的路径过滤器。
标签: azure-devops yaml azure-repos