您可以通过jenkins TFS配置增量构建

时间:2016-05-06 08:51:12

标签: jenkins tfs build continuous-integration azure-devops

我们有一个很长的运行版本,我们正试图将其分解为增量版本。代码是c#/ .net,jenkins作为构建管理器和TFS(visualstudio在线作为源代码控制)

所以架构看起来像:

  1. 区域1(1个或更多解决方案)
  2. 区域2(1个或更多解决方案)
  3. 区域3(1个或更多解决方案)
  4. 因此,我们的想法是,如果在区域1中签入代码,则仅构建该区域的关联解决方案,并运行该区域的测试。 然后我们还会有一个构建所有内容的每晚构建。

    我的问题是,Jenkins / TFS是否有可能检测到哪个代码区域已经签入并将变量(或变量列表)传递给构建脚本,该脚本告诉它构建/测试哪些项目吗

1 个答案:

答案 0 :(得分:1)

Visual Studio Team Service(Visual Studio Online)支持Git和Team Foundation版本控制(TFVC)。

如果您使用TFVC进行版本控制,则VSTS可以检测已检入的代码区域。但是,它无法告诉Jenkins哪个区域已更新并构建。因此,替代方法是为三个区域创建三个Jenkins作业,并由三个VSTS服务挂钩触发。

例如,“Test”项目中有三个区域,因此文件夹结构将为:

$ /测试

--- /区域1

------ /&项目对接洽谈放大器;解

--- /区域2

------ /&项目对接洽谈放大器;解

--- / Area3中

------ /&项目对接洽谈放大器;解

您可以为Area1创建Jenkins服务挂钩,如下所示,以触发Area1的Jenkins作业: enter image description here

在Jenkins中,更新Area1作业的设置以获取Area1的源文件: enter image description here

现在,只有在签入Area1中的代码时,才能触发Area1的Jenkins作业。并重复上述步骤配置Area2和Area3的设置。

如果您使用Git进行版本控制。没有任何方法可以通过Git存储库中的区域文件夹触发构建,您需要将这三个区域分开并将它们放入三个Git存储库中。