服务器端结帐与代理端结帐

发布于 2024-08-13 07:13:38 字数 251 浏览 3 评论 0原文

我一直在阅读 TeamCity 4.x 文档,但我很困惑服务器端签出和代理端签出之间的区别,如帮助部分中的这段代码所述:

排除结帐规则只会加快服务器端结帐速度。 代理端签出通过签出作为包含规则提到的所有根目录并删除排除的目录来模拟排除签出规则。因此,对于代理端结帐,通常应避免排除结帐规则。

服务器端结帐和代理端结帐有什么区别?

I've been reading through the TeamCity 4.x documentation, and I am confused what the difference between a server side checkout and an agent side checkout is, as mentioned in this snippet from their help section:

Exclude checkout rules will only speed up server-side checkouts. Agent-side checkouts emulate the exclude checkout rules by checking out all the root directories mentioned as include rules and deleting the excluded directories. So, exclude checkout rules should generally be avoided for the agent-side checkout.

What is the difference between a server-side checkout and an agent-side checkout?

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

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

发布评论

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

评论(2

诗酒趁年少 2024-08-20 07:13:38

好的,这是 Pavel Sher(JB 人)的答案

服务器端的主要原因
结帐存在 - 是为了简化
管理开销。

使用服务器端结帐,您需要
安装VCS客户端软件
仅服务器(适用于 Perforce、
Mercurial、TFS、Clearcase、VSS)。
可以通过网络访问 VCS 存储库
也仅向服务器开放。所以
如果你想控制谁有权访问
到你的源存储库是
使用服务器端可能更好
结帐。

在某些情况下作为服务器的副作用
侧面结帐可以降低产生的负载
在 VCS 存储库上,特别是如果
经常进行干净的结帐。
这是因为干净的补丁是
由服务器缓存。然而这是
环境特定,可能在某些
代理方结账可以使用的情况
更好。

排除规则也更好
通过服务器端结帐处理
因为通常代理方结账是
只是一个更新并且适用于大多数 VCS
没有办法排除一些
更新操作期间的目录。

从另一方面来说因为代理方
结帐只是更新或结帐
它创造了必要的管理
目录(如 .svn、CVS),所以它
让您可以与
来自构建的存储库:提交
变化等等。与服务器端
签出这样的目录不会
创建。

Ok, here is the answer from Pavel Sher (a JB guy) :

The main reason why server side
checkout exists - is to simplify
administration overhead.

With server side checkout you need to
install VCS client software on the
server only (applicable to Perforce,
Mercurial, TFS, Clearcase, VSS).
Network access to VCS repository can
also be opened to the server only. So
if you want to control who has access
to your sources repositories it is
probably better to use server side
checkout.

As a side effect in some cases server
side checkout can lower load produced
on VCS repositories especially if
clean checkout is performed often.
This is because clean patches are
cached by server. However this is
environment specific, probably in some
cases agent side checkout will work
better.

Exclude rules also are better
processed with server side checkout
because usually agent side checkout is
just an update and with most VCSes
there is no way to exclude some
directories during update operation.

From the other hand because agent side
checkout is just an update or checkout
it creates necessary administration
directories (like .svn, CVS), so it
allows you to communicate with
repository from the build: commit
changes and so on. With server side
checkout such directories won't be
created.

离鸿 2024-08-20 07:13:38

以下是官方 TeamCity 文档页面,其中描述了差异。自从提出最初的问题以来,它有了明显的改善。

Here is the official TeamCity documentaion page, which describes the difference. It was noticeably improved since the original question was asked.

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