Why & Why not那么为什么需要 CI 呢?相比于传统的先开发,再测试,后上线的模式有哪些好处呢?在团队使用 CI 这段时间中,得出了以下主要两个好处:
及时发现错误。CI 并不能消除错误,但 CI 将发现错误的时机尽可能地提前,所以也更加节省时间来改正错误。当开发者提交代码至代码仓库时,其对于代码的熟悉程度是最高的。如果这个时候尽可能的纠正一些错误或不当,开发者将能很快注意到并将错误改正,避免了由于时间或者团队中其他人对于代码的修改所导致的问题,提升了开发效率。
自动化。市面上的 CI 平台都给了开发者比较高的自由度,能够执行脚本或命令。因此很多自动化的操作都可以制定好,来自动化地执行,节省开发者的时间。
如果这两个显而易见的好处还不足以说服,可以参考文末 Reference 中 EKATERINA NOVOSELTSEVA 的文章。那么 CI 会不会也存在什么难处呢?