四时宝库

程序员的知识宝库

Jenkins介绍(jenkins的使用)

随着软件开发复杂度的不断提高,团队开发成员之间如何更好地协同工作以确保软件开发的质量已经成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile)在软件工程领域越来越“火”,如何在不断变化的需求中快速适应和保证软件的量显得尤其重要。

持续化集成(Continuous Integration,简称 CI)正是针对这类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能进行多次集成。而每次的集成都是通过自动化的构建来验证的,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队成员能够更快地开发内聚的软件。下面以笔者经历的项目为例进行描述。首先,解释一下集成。我们所有项目的代码都是托管在 SVN 服务器上的。每个项目都要有若干个单元测试,并有一个所谓的集成测试。集成测试就是把所有的单元测试运行一遍,以及进行其他一些能自动完成的测试。只有在本地计算机上通过了集成测试的代码才能上传到 SVN 服务器上,这样可以保证上传的代码没有问题。所以,集成就是指集成测试。再说持续。不言而喻,持续就是指长期对项目代码进行集成测试。既然是长期,那么肯定是自动执行的,否则人工执行没有保证,而且耗费人力。对此,需要有一台服务器,它会定期地从 SVN 中检出代码并编译,然后运行集成测试,每次集成测试结果都会记录在案。完成这个工作的就是下面要介绍的 Jenkins 软件。当然,它的功能远不止这些。在我们的项目中,执行这个工作的周期是 1 天。也就是说,服务器每天都会准时地对 SVN 上的最新代码自动进行一次集成测试。

持续交付(Continuous Delivery)指的是频繁地将软件的新版本交付给质量团队或用户以供评审。如果评审通过,代码就进入生产阶段。持续交付可以看作持续集成的下一步。它强调的是不管怎么更新,软件是随时随地可以交付的。持续部署(Continuous Deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。持续部署的目标是,代码在任何时候都是可部署的,可以进入生产阶段。持续部署的前提是能自动化完成测试、构建、部署等步骤。Jenkins,原名 Hudson,2011 年改为现在的名字,它是一个基于 Web 界面平台开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的工具。Jenkins 能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。

Jenkins 官方网站的网址是 https://jenkins.io/。Jenkins 官网文档的网址是https://jenkins.io/doc/。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接