27 c# git teamcity tfs jenkins
我正在考虑从TFS(Team Foundation Server)迁移到Git,但找不到任何与TFS支持门控签到(也称为预测试或延迟提交)相匹配的内容.
Atlassian Bamboo不支持门禁办理登机手续.TeamCity确实支持它(使用他们的术语"延迟提交"),但不支持Git.使用Jenkins本身或Jenkins + Gerrit有很大的缺点,并且没有接近TFS中的门控签入功能.(Jenkins的创作者在此视频中解释了缺点:http://www.youtube.com/watch?v = LVVVw5gnAo0)
Git非常受欢迎(有充分理由),那么人们如何解决这个问题呢?什么是目前最好的解决方案?
Sam*_*der 16
我们刚刚开始使用git并使用工作流程实现了预先测试的提交(我今天就完成了测试).
基本上每个开发人员都有一个他们具有读/写访问权限的个人存储库 在我们的案例中,构建服务器TeamCity使用这些个人存储库构建,然后如果成功将更改推送到"绿色"存储库.开发人员没有"绿色"的写入权限,只有TeamCity构建代理可以写入,但开发人员从"绿色"中提取常见更新.
所以开发从"绿色"开始,推向个人,TeamCity从个人构建,推向绿色.
这篇博文显示了我们正在使用的基本模型,GitHub分支用于个人存储库(使用forks意味着存储库的数量不会失控并最终导致成本更高,并且意味着开发人员可以管理个人构建,因为他们可以分叉,然后创建团队城市构建作业,以将其代码推送到"绿色"):
这是在TeamCity中设置的更多工作,因为每个开发人员都必须拥有自己的构建配置.实际上必须是2个配置,因为TeamCity似乎执行所有构建步骤(包括最终的"推送到绿色"步骤),即使之前的构建步骤失败(如测试:)),这意味着我们必须有个人为开发人员构建,然后是另一个依赖于它的构建配置,假设构建工作,它将执行推送.
查看Verigreen - 一个轻量级的服务器端门禁登记系统.它在进入系统保护的分支之前验证每个提交.Verigreen不允许任何失败的CI提交破坏集成,发布或任何需要保护的分支.而且 - 这是一个免费的开源项目.
工作原理:Verigreen拦截签到并在ad-hoc分支中运行验证 - 以便在提交失败的情况下,只有相关的开发人员受到影响.
决策基于以下流程:
有关更多信息,请访问wiki或Verigreen.io网站
归档时间: |
|
查看次数: |
15792 次 |
最近记录: |