gpt4 book ai didi

unit-testing - 从开发人员那里获取的 Git 托管设置拒绝损坏的提交?

转载 作者:太空狗 更新时间:2023-10-29 13:03:25 25 4
gpt4 key购买 nike

开发团队经常被版本控制中的构建被暂时破坏所困扰。在尝试从一个人破坏的构建中恢复时,整个团队的生产力可能会停止。

是否有软件可以通过不接受一开始就未能通过测试的提交,以防止破坏版本控制中的构建的方式来托管 Git?例如,使用场景如下所示:

  • 该软件在服务器上运行,该服务器不断从开发人员发布的 Git 存储库中提取修订。
  • 对于每个 pull 的修订版,软件都会构建修订版并测试它是否通过了单元测试。
    • 如果通过测试,修订版将 merge 到“稳定”分支。
    • 如果它没有通过测试,它就会被拒绝并且修订版不会 merge 到“稳定”分支中。开发者被迫更正修订并重新提交。
  • 默认情况下,开发人员从永远不会被破坏的“稳定”分支中 pull ——从某种意义上说,测试不会失败——并且由于他们被破坏的构建所花费的时间更少,因此工作效率更高。这种系统的实用性随着团队规模的增加而增加。

一些注意事项:

  • 在这种情况下,Git 的预提交 Hook 和类似工具并不令人满意。该解决方案应该是自动的,并针对每次提交在服务器端强制执行。
  • 尽可能寻找已实现和深思熟虑的解决方案,而不是自己从头开始编写这样的系统。

最佳答案

我认为这更像是一个构建服务器功能,它与 VCS(例如 Git)相关联。 TeamCity 确实对此提供支持,但我没有尝试过,所以我无法评论它到底有多好。

http://www.jetbrains.com/teamcity/features/delayed_commit.html

Hudson 的人已经讨论了一段时间,但我还没有在发布中看到它。

http://wiki.hudson-ci.org/display/HUDSON/Designing+pre-tested+commit

关于unit-testing - 从开发人员那里获取的 Git 托管设置拒绝损坏的提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4101469/

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