Jenkins – Jenkins实现持续集成

传统开发流程的问题

让我们设想这样一个场景:开发人员一直写代码,写代码过程中不进行构建,直到全部完成代码再进行构建,然后将其部署到测试服务器上测试。

这个过程看起来没什么问题,但实际上有很多问题:

  • 开发人员必须等到软件开发工作全部完成,才能得到测试结果。
  • 测试结果很可能会显示多个bug。开发人员很难找到这些bug,因为他们必须检查应用程序的整个源代码。
  • 减慢了软件交付过程。
  • 与编码或架构问题、构建失败、测试状态和文件上传等相关的连续反馈缺失,导致软件质量下降。
  • 整个过程都是手工操作,增加了故障风险。

从上面的问题可以明显看出,不仅软件交付过程变慢了,软件的质量也下降了。这导致了客户的不满。

Jenkins持续集成流程

因此,为了克服这种混乱,迫切需要一个系统,在这个系统中,开发人员可以不断地触发构建,并对源代码中所做的每个更改进行测试。

这就是持续集成的意义所在。Jenkins是最成熟的持续集成(CI)工具,因此让我们看看如何通过Jenkins持续集成来克服上述缺点。

Jenkins持续集成的通用流程图:

图

上图描述了以下功能:

  • 首先,开发人员将代码提交到代码库。同时,Jenkins服务器定期检查代码库中的更改。
  • 提交发生后不久,Jenkins服务器将检测代码库中有更新。Jenkins将拉取这些更新,并开始新的构建。
  • 如果构建失败,那么将通知相关团队。
  • 如果构建成功,那么Jenkins将在测试服务器中部署构建。
  • 自动化测试之后,Jenkins生成一个反馈,然后通知开发人员构建和测试结果。
  • Jenkins将继续监测代码库中的更新,如果有更新将触发一次新的构建,整个过程将不断重复。

传统流程与持续集成的比较

现在你已经了解了Jenkins如何克服传统软件开发生命周期的缺点。下表显示了“Jenkins出现之前和之后”的对比。

使用 Jenkins 之前 使用 Jenkins 之后
全部代码完成后,构建并测试整个源代码。在构建和测试失败的情况下定位和修复bug是困难和耗时的,这反过来又会减慢软件交付过程。 源代码中的每一次提交都会触发构建和测试。因此,开发人员只需关注特定的提交即可。这将加快软件新版发布。
开发人员必须等待测试结果 开发人员可以及时每次提交的更改测试结果。
整个过程都是手动的 你只需要提交对源代码的更改,Jenkins将自动完成其余的流程。


浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载