首页 > 解决方案 > 在舞台上添加条件以检查文件夹的更改

问题描述

我在同一个分支中有服务器端(使用 c# 的 web api)和客户端(角度)代码。我为构建服务器端和客户端代码创建了单独的阶段,并为部署另外一个阶段。如果我在客户端或服务器端签入代码,所有 3 个阶段都会运行。为了避免这种情况,我正在寻找在阶段级别添加条件的方法,以便如果有服务器端更改,则只有服务器阶段将运行,如果签入的代码只有客户端代码,则只有客户端阶段将运行。我不明白如何检查签入了哪些文件。我在搜索时发现了类似的问题,但解决方案是使用 git 给出的。我在 azure-repos 中有我的代码。有什么办法可以让我根据文件夹检查是否有变化,并在阶段的条件下进一步使用它。像这样的东西:

stages: 
- stage: 'Server'
 condition: 

- stage: 'Client'
 condition: 

提前致谢。

标签: azure-devopsyamlazure-repos

解决方案


我正在发布对我有用的解决方案。我有 3 个阶段服务器、客户端和部署。我已将同一分支上的两条管道中的阶段分开。现在我在一个管道中有服务器和部署阶段,在另一个管道中有客户端和部署阶段。此外,我在服务器端(Web Api)管道中使用了以下代码

 paths:
  exclude:
  - folder Path for Client side /*

 stages: 

 - stage: 'Server'
  #  steps for building server side code
 - stage: 'Deploy'
  #  steps for Deploying server side code

以及客户端管道中的以下代码

  paths:
   include:
   - folder Path for Client side/*   

stages: 

   - stage: 'Client'
   #  steps for building client side code
   - stage: 'Deploy'
   #  steps for Deploying client side code

现在它触发各自的管道并部署各自的构建。


推荐阅读