Msbuild 持续集成:为依赖项.NET构建管道
我正在使用TeamCity v10自动构建.net核心解决方案: 假设我有以下项目: A->B->C->D A->D 箭头表示项目B引用了项目A,需要先恢复并构建该项目 配置 项目D是一个必须在最后发布的web应用程序(它还需要C和a)Msbuild 持续集成:为依赖项.NET构建管道,msbuild,teamcity,.net-core,asp.net-core-1.0,Msbuild,Teamcity,.net Core,Asp.net Core 1.0,我正在使用TeamCity v10自动构建.net核心解决方案: 假设我有以下项目: A->B->C->D A->D 箭头表示项目B引用了项目A,需要先恢复并构建该项目 配置 项目D是一个必须在最后发布的web应用程序(它还需要C和a) 为此,我为a、B、C、D中的每一个创建了一个团队城市项目 然后,我为每个项目创建了一个构建定义,它包括两个步骤:恢复和构建 还原和构建步骤指定指定项目的project.json文件(例如,在项目B中,它将是“src\B\project.json” 我为项目D添
- 为此,我为a、B、C、D中的每一个创建了一个团队城市项目
- 然后,我为每个项目创建了一个构建定义,它包括两个步骤:恢复和构建
- 还原和构建步骤指定指定项目的project.json文件(例如,在项目B中,它将是“src\B\project.json”
- 我为项目D添加了额外的步骤,这是发布,因为它必须发布到IIS
- B对A具有快照依赖项,并对该依赖项具有已完成的生成触发器
- C对B具有快照依赖关系,并已完成对该依赖关系的生成触发器
- D的快照依赖于C和A,并在这些依赖项上完成构建的触发器
解决方案是配置从B到A、从C到B、从D到C的快照依赖关系。但是,从D到A的依赖关系过大,因为整个构建链运行在同一版本上 如果触发了构建B,那么链中的所有构建(A和B)都应该启用。可以启用选项“如果有合适的构建,则不运行新构建”。 在这种情况下,构建B将重用合适的构建A(如果存在) 关于触发因素:
- 在这种情况下,不建议使用finish触发器。要触发 整个构建链,然后我们应该运行构建D,这样它将 将整个链添加到队列中
- 要根据VCS根目录中的更改自动触发构建链, 使用选项在D构建配置中仅配置一个VCS触发器 “快照依赖项更改时触发”