【发布时间】:2023-03-10 22:41:01
【问题描述】:
我负责我们产品的构建,并被要求想出一种自定义现有构建定义的方法,以便在需要时构建不同的分支。
该产品的构建过程已经有几个自定义步骤和操作,并且该产品有大量的项目文件要构建,因此为每个创建的新分支设置新的构建定义是无效的。
构建定义设置为从主分支构建。目的是进入一个特定的分支(使用可以在构建排队时输入的工作流参数),然后将构建该分支而不是默认的 Main 分支,而无需编辑构建定义。
我有一个单独的测试程序,用于测试我的所有自定义构建活动和程序。在此构建定义的工作流程中,我添加了相当多的构建消息用于记录目的,以便我可以查看构建过程中使用的变量的值。
我还基于这个测试程序创建了一个分支,准备好测试一个可用于构建多个分支的构建定义
首先,我从原始分支为原始测试解决方案的项目文件运行构建,然后更改构建定义,以便使用新分支完成相同操作并运行另一个构建。在比较 2 个分支之间的构建日志时,它们之间只有一些细微差别。 (记录详细程度设置为诊断)
第一个区别 - 我查看了 Workspace 变量,并且构建的 Folders 属性引用了它们各自的分支,特别是 Folders 属性的 ServerItem 属性
第二个区别 - 正在构建的项目文件 (BuildSettings.ProjectsToBuild) 来自各自的分支
除了这些之外,我没有看到 2 个构建日志之间的任何其他差异
这里的主要问题:
是否有一种标准方法可以将正在构建的分支交换为单个构建定义?
如果没有,是否可以在排队构建时简单地将自定义工作流模板(在 Workspace 和 BuildSettings.ProjectsToBuild 中)中对默认 Main 分支的所有引用更改为输入的分支?
一如既往,在此先感谢您提供的所有帮助
【问题讨论】: