gpt4 book ai didi

visual-studio - "delayed commit"如何与源代码控制存储库和 CI 服务器一起工作?

转载 作者:行者123 更新时间:2023-12-04 03:48:01 26 4
gpt4 key购买 nike

我想知道“延迟提交”功能如何在未与源代码控制存储库集成的 CI 服务器上工作。从概念上讲,该过程的工作方式如下:

  • checkin 代码更改
  • CI 服务器构建更改
  • 如果构建通过,代码将提交到源代码控制存储库
  • 如果构建失败,则代码不会提交到源代码控制存储库

  • 大多数 CI 服务器通过轮询源代码控制存储库进行更改然后拉取代码来工作。那么在延迟提交场景中,开发人员是否将他们的代码检查到 CI 服务器而不是实际的源代码控制存储库,然后 CI 服务器将代码传递到存储库?或者,如果构建失败,CI 服务器是否只是回滚更改?

    我特别在考虑两个持续集成系统。 Team Foundation Server 将在下一个版本中提供此功能,但这是有道理的,因为 TFS 中的 Team Build(CI 系统)与源代码控制存储库集成。但是,在 Team City 的情况下,TC 能够连接到任何源代码控制系统,并且不一定与源代码控制存储库集成甚至在同一服务器上。这是如何工作的?

    编辑:在这个问题上悬赏,希望我能得到更多可能的答案。

    最佳答案

    通常,您必须使用命令行工具或 IDE 插件来将代码提交到 CI 服务器。该工具将您的更改与所有相关的项目/存储库/用户元数据捆绑在一起,开始构建,然后在一切顺利时提交。

    在 TeamCity 的情况下,看起来服务器实际上将批准消息提交回您的计算机 ( from what I can tell from the diagram ),然后从那里提交 - 大概这样您就不需要拥有每个用户的 SCM 凭据 - 这可能是如果您在 TC 服务器上使用 SSH 私钥等,则很复杂。

    但是 CI 服务器几乎可以与任何 SCM 系统集成,无论服务器位于何处——您只需要为其提供正确的凭据即可获得(通常为只读)访问权限。

    关于visual-studio - "delayed commit"如何与源代码控制存储库和 CI 服务器一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2068651/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com