用于持续集成和交付的Azure DevOps Git粒度触发器版本

时间:2019-06-13 15:39:45

标签: git azure-devops continuous-integration continuous-deployment

我继承了一个有点奇怪的git repo,其结构如下:

if () { .. }

因此,从本质上讲,我只有一个存储库,其中包含一堆文件夹; Some Client - Programme/ ├── ClientName.Thing1/ │ ├── ClientName.Thing1.sln │ └── ClientName.Thing1.ProjectX/ │ ├── ClientName.Thing1.ProjectX.csproj │ ├── file1.cs │ └── file2.cs └── ClientName.Thing2/ ├── ClientName.Thing2.sln ├── ClientName.Thing2.ProjectY/ │ ├── ClientName.Thing2.ProjectY.csproj │ ├── file3.cs │ └── file4.cs └── ClientName.Thing2.ProjectZ/ ├── ClientName.Thing2.ProjectZ.csproj ├── file5.cs └── file6.cs ,所有代码都位于这些顶级文件夹下面。.

工作流程似乎是,Person-A一次在ClientName.Thing1, ClientName.Thing2, etc..上工作,而Person-B一次在ClientName.Thing2上工作,都可以独立地...两者都可以在Visual Studio中使用* .sln文件打开。

这是什么意思,尽管它们都在不同的领域工作..它们可以“异花授粉”,因为它们都来自同一ClientName.Thing1分支,甚至从技术上讲,Person-A尽管不是本意,但可以在Person-B正在查看的工作“区域”中编辑某些内容。

这不是最大的问题,最大的问题实际上是发布内容,尤其是构建要发布的方面的版本。没有真正的已编译代码(python,sql等),因此可以通过简单地连接到CICD管道中的存储库并部署这些东西来“摆脱”,而无需构建,这让我有点烦。 ,这意味着您不能保证始终在每个环境中部署相同的东西。

那么,这个问题!

有没有办法,如果Person-A对位于master文件夹下的任何东西进行某些更改,以使其仅针对特定的构建定义触发构建? / p>

现在...我只能看到一种触发整个回购协议的方法,这将是超级超级嘈杂!

1 个答案:

答案 0 :(得分:0)

向构建定义的CI触发器添加path filter