具有多种开发环境的 TeamCity

发布于 2024-09-26 09:14:52 字数 511 浏览 5 评论 0原文

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

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

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

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

有更简单的方法吗?

或者我设置自动化构建的方式是否存在根本性错误,导致我无法完成此任务?

For our enterprise application, we have tiered streams in AccuRev (developers promote to the Integration stream, which promotes to the Quality Assurance stream, which promotes to the Production stream). Each major component of the application has its own tiered set of streams (e.g.: there's a Windows Client Integration stream, a Windows Client Quality Assurance stream, a Data Access Services Integration stream, a Data Access Services Quality Assurance stream, etc.).

I'm in charge of setting up automated builds for the entire application in TeamCity. So far, I've created a separate build configuration for each of the major components (e.g.: a Windows Client build configuration). Right now these configurations pull from the aforementioned Integration streams. It works beautifully.

However, what we would like to do is switch the build configurations to pull from different tiers. In other words, if we want to run an "Integration" build of the Windows Client, the build configuration will pull from the Windows Client Integration stream. In the case of a Quality Assurance build, however, it will pull from the Quality Assurance stream.

As far as I can tell, the only way to accomplish this would be to create a separate build configuration for each tier (e.g.: "Windows Client Build Configuration (Quality Assurance)").

Is there an easier way?

Or is there something fundamentally wrong with the way I've set up the automated builds that's preventing me from accomplishing this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

分分钟 2024-10-03 09:14:52

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

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

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

I haven't used AccuRev, but I'm assuming that streams are equivalent to branches in other version control systems.

I think you are on the right track here. The advantage of having separate build configurations for each tier/platform is that once they are all set up, you can build any of them at the click of a button, with no further configuration. You could do it without separate build configurations for each tier, but then you would have to go messing around with the build configuration or custom builds with specific properties set (it is pretty easy to run custom builds straight from the TeamCity projects page though!) every time you want to make a build.

What I would probably do is set up separate build configurations for each platform/tier like you have done, and base them all off of a single template, using configuration parameters to handle the setting of the platform and the tier. This gives you the benefits of individual configurations (one-click building, separate versioning if you want, etc.) while keeping the complexity and maintenance requirements low by isolating the configuration to a template.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文