0

对于我们的企业应用程序,我们在 AccuRev 中有分层流(开发人员提升到集成流,它提升到质量保证流,然后提升到生产流)。应用程序的每个主要组件都有自己的分层流集(例如:有一个 Windows 客户端集成流、一个 Windows 客户端质量保证流、一个数据访问服务集成流、一个数据访问服务质量保证流等)。

我负责为 TeamCity 中的整个应用程序设置自动构建。到目前为止,我已经为每个主要组件创建了单独的构建配置(例如:Windows 客户端构建配置)。现在,这些配置来自上述集成流。它工作得很好。

但是,我们想做的是切换构建配置以从不同的层中提取。换句话说,如果我们想运行 Windows 客户端的“集成”构建,构建配置将从 Windows 客户端集成流中提取。但是,在质量保证构建的情况下,它将从质量保证流中提取。

据我所知,实现此目的的唯一方法是为每一层创建单独的构建配置(例如:“Windows 客户端构建配置(质量保证)”)。

有没有更简单的方法?

或者我设置自动构建的方式是否存在根本性的问题,这阻止了我完成这项工作?

4

1 回答 1

1

我没有使用 AccuRev,但我假设流相当于其他版本控制系统中的分支。

我认为你在这里是正确的。为每个层/平台单独构建配置的优势在于,一旦它们全部设置完毕,您只需单击一个按钮即可构建它们中的任何一个,而无需进一步配置。您可以在没有单独的构建配置的情况下为每一层执行此操作,但随后您将不得不使用构建配置或具有特定属性集的自定义构建(尽管直接从 TeamCity 项目页面运行自定义构建非常容易!)每次您想要构建时。

我可能会像您所做的那样为每个平台/层设置单独的构建配置,并将它们全部基于单个模板,使用配置参数来处理平台和层的设置。这为您提供了单个配置的好处(一键构建,如果需要,可以单独进行版本控制等),同时通过将配置隔离到模板来保持较低的复杂性和维护要求。

于 2010-10-05T22:31:00.803 回答