简单来说就是跨平台。
在项目中不仅仅是开发完代码就是项目完成了,在目前的软件开发中过程中,CI 也是一个非常重要的组成部分。
针对不同的平台,可能采用的编译器不一样,不同的编译器编译出来的结果也是不一样的。
这样为了避免这个问题,很多项目都只提供代码,具体的编译,需要自己根据不同的编译器进行编译。
真正软件交付和编译这个是软件开发过程中非常重要的一个部分也是非常耗时的。
这个也和软件交付的版本有关系。
在实际开发中,你一般会选择一个主版本,比如说 Hibernate 5.3,但是不同软件产品会不停的发布新版本,你一般也不随着新版本而升级。
但是针对软件开发来说,项目希望在版本发布之前进行编译和测试,这个就是 CI 的概念。
针对 Java 开源的项目,很多交付都是 jar 包,可以用 CI 来完成编译和发布。