持续集成服务,例如特拉维斯,圆环或者应用商店已被证明确实有用,可以确保项目自动按预期运行。
但是为什么有些存储库使用多个 CI?
难道一个已经做得很好了吗?是为了防止一两个服务无法按预期运行或在某些时候宕机吗?
例如:
原子(3):CircleCI、Travis、AppVeyor
VScode(2):Travis,AppVeyor
阿娃(2):Travis,AppVeyor
汽(2):Travis,CircleCI
更新:
反应很久以前就从 TravisCI 转换到了 CircleCI。
https://github.com/facebook/react/pull/8486
就上下文而言,我们目前有兴趣转向 CircleCI,因为我们在 GitHub 上 /facebook org 的 Travis 队列总是落后几个小时。另一方面,Circle 构建几乎可以立即开始。
这是否与大型项目使用多个 CI 服务的原因有关?
答案1
它们通常可以胜任不同的工作:
Travis 支持 Linux 和 macOS,但目前不支持 Windows。
Circle CI 似乎比 Travis 更可靠地支持 macOS。
AppVeyor 支持仅有的Windows,它可以执行其他任务 - 例如为发布生成“安装程序”包。