gpt4 book ai didi

c# - Git 的门控 checkin /预测试提交?

转载 作者:IT王子 更新时间:2023-10-29 01:06:25 24 4
gpt4 key购买 nike

我正在考虑从 TFS (Team Foundation Server) 迁移到 Git,但找不到与 TFS 对门控 checkin (也称为预测试或延迟提交)的支持相匹配的任何内容。

Atlassian Bamboo 不支持门控签到。 TeamCity 确实支持它(使用他们的术语“延迟提交”),但不支持 Git。单独使用 Jenkins 或 Jenkins+Gerrit 有很大的缺点,并且与 TFS 中的门控 checkin 功能不相近。 (Jenkins 的创建者自己在这个视频中解释了缺点:http://www.youtube.com/watch?v=LvCVw5gnAo0)

Git 非常流行(有充分的理由),那么人们是如何解决这个问题的呢?目前最好的解决方案是什么?

最佳答案

我们刚刚开始使用 git 并使用工作流实现了预测试提交(我今天刚刚完成测试)。

基本上每个开发人员都有一个他们具有读/写访问权限的个人存储库。在我们的案例中,构建服务器 TeamCity 使用这些个人存储库进行构建,然后如果成功将更改推送到“绿色”存储库。开发人员没有对“绿色”的写入权限,只有 TeamCity 构建代理可以写入,但开发人员可以从“绿色”中提取常见更新。

所以开发人员从“绿色” pull ,推送到个人,TeamCity 从个人构建,推送到绿色。

This blog post显示了我们正在使用的基本模型,个人存储库使用 GitHub 分支(使用分支意味着存储库的数量不会失控并最终花费更多,并且意味着开发人员可以管理个人构建,因为他们可以 fork 然后创建团队城市构建作业以将他们的代码推送到“绿色”):

enter image description here

这需要在 TeamCity 中进行更多设置,因为每个开发人员都必须拥有自己的构建配置。这实际上必须是 2 个配置,因为 TeamCity 似乎执行所有构建步骤(包括最后的“push to green”步骤),即使之前的构建步骤失败(如测试 :)),这意味着我们必须有一个个人为开发人员构建,然后是另一个依赖于它的构建配置,假设构建工作正常,它只会进行推送。

关于c# - Git 的门控 checkin /预测试提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12484424/

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