TFS 2010:主分行门控签到;在开发分支上滚动构建?

发布于 2024-10-08 19:03:04 字数 812 浏览 0 评论 0原文

我最近从 VSS 迁移到 TFS 2010,我非常喜欢它,但有些东西我还没有能够按照我认为应该的方式工作。

目标

我想快速了解开发更改何时会破坏构建。如果我们事后发现的话,那也没什么大不了的。由于全天都会发生大量签入,因此我们不想等待构建完成,因此它应该是异步的。

对于我们的主分支,我想确保任何时候发生合并时,我们都确保它不会破坏构建。我想要对此立即得到反馈。等待时间很好,因为我们不会经常合并到 Main 中。

当前设置

我的解决方案位于名为 Main 的文件夹下。我已经从这个分支中分出了一个分支,叫做“开发”。我正在工作的工作区与顶层相关,其中包括主分支和开发分支。我尝试将工作区调整为仅指向“开发”,以防出现问题。这似乎并没有解决我的问题,所以我将其设置回原来的方式——主要和开发。

在工作区的构建定义中,我定义了两个定义——一个用于主分支,另一个用于开发。

第一个定义是用于构建主分支。它有一个门控签入触发器,并且“要构建的项目”指向 Main 中的解决方案文件。

第二个定义用于在开发分支中构建解决方案。它有一个滚动构建触发器,“构建项目”指向开发中的解决方案文件。

结果

目前,当开发中发生更改并执行签入时,会触发对 Main 的门控签入。这不仅会造成混乱,而且还会减慢我们的整体流程。

下一步

我已经查看了一些关于分支、一般 TFS 使用等的 TFS 指南。不幸的是,我还没有找到解决我的问题的方法。如果您以前遇到过这个问题,我将不胜感激您提供的任何建议。

I recently migrated from VSS to TFS 2010 and I've been absolutely loving it, but there's something I haven't yet been able to get working the way I think it should.

GOALS

I'd like to quickly know when a change to Development breaks a build. If we find out after-the-fact, it's no big deal. Since a lot of check-ins happen throughout the day, we don't want to wait on the build to finish, so it should be asynchronous.

With our Main branch, I'd like to ensure that any time a merge happens into it, we make sure it's not going to break the build. I want immediate feedback on this. The wait time is fine, since we won't be merging into Main often.

CURRENT SETUP

My solution is under a folder called Main. I've made a branch off of that called Development. The workspace I'm working in is tied to the top-level, which includes both Main and Development branches. I tried adjusting my workspace to only point to Development, in case that was the problem. That didn't seem to fix my issue, so I set it back to the way I had it originally -- with both Main and Development.

Within the workspace's Build definitions, I have two definitions defined -- one for the Main branch and another for Development.

The first definition is for building the Main branch. It has a Gated Check-In trigger and "Items to Build" points to the solution file within Main.

The second definition is for building the solution in the Development branch. It has a Rolling Builds trigger and "Items to Build" points to the solution file within Development.

RESULT

Currently, when a change is made in Development and a check-in is performed, the gated check-in to Main is triggered. This not only causes confusion, but it also tends to slow down our overall process.

NEXT STEP

I've looked at some of the TFS guides to branching, general TFS usage, etc. Unfortunately, I haven't yet found a solution to my issue. If you've run across this issue before, I'd appreciate any suggestions you can give.

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

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

发布评论

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

评论(1

复古式 2024-10-15 19:03:04

目前我还不能 100% 确定,但是构建应该通过签入构建定义工作区覆盖的源树部分来触发。

因此,请查看构建定义并查看每个构建定义获取源树的哪些部分。你的 CI 构建应该只获取 Dev 分支,门控构建应该只获取 Main 分支。

I'm not 100% sure at the moment, but the build should be triggered by check-ins into the part of the source tree that is covered by the build definition workspace.

So please have a look into the build definition and see what part of the source tree each build definition gets. Your CI build should only get the Dev branch, the gated build should only get the Main branch.

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