加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

超详细的jenkins持续集成工作原理、功能、部署方式等介绍

发布时间:2019-08-30 19:48:17 所属栏目:Windows 来源:波波说运维
导读:今天简单整理了一下jenkins的一些概念性内容,归纳如下: 1. 概念 jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实时监控集成中存在的错误,提供详细的日

今天简单整理了一下jenkins的一些概念性内容,归纳如下:

1. 概念

jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。

Jenkins可以构建一个自动化的持续集成环境可以使用它来“自动化”编译、打包、分发部署应用,它兼容ant、maven、gradle等多种第三方构建工具,同时与svn、git能无缝集成,也支持直接与知名源代码托管网站,如github、bitbucket直接集成。

超详细的jenkins持续集成工作原理、功能、部署方式等介绍

2. Jenkins的功能

超详细的jenkins持续集成工作原理、功能、部署方式等介绍

  • 定时拉取代码并编译
  • 静态代码分析
  • 定时打包发布测试版
  • 自定义操作,如跑单元测试等
  • 出错提醒

3. 原理

超详细的jenkins持续集成工作原理、功能、部署方式等介绍

这里是选择Gitlab作为git server。Gitlab的功能和Github差不多,但是是开源的,可以用来搭建私有git server,也提供非常强大的web GUI,比如开发者互相review源代码的时候就会很方便。系统的工作流程大概分为以下几步:

  • 开发者将新版本push到git server (Gitlab)。
  • Gitlab随后触发jenkins master结点进行一次build。(通过web hook或者定时检测)
  • jenkins master结点将这个build任务分配给若干个注册的slave结点中的一个,这个slave结点根据一个事先设置好的脚本进行build。这个脚本可以做的事情很多,比如编译,测试,生成测试报告等等。这些原本需要手动完成的任务都可以交给jenkins来做。
  • 我们在build中要进行编译,这里使用了分布式编译器distcc来加快编译速度。

jenkins的工作原理是先将源代码从gitlab中拷贝一份到本地,然后根据设置的脚本进行build。我们可以看出,整个系统的关键就是那个build脚本,用来告诉jenkins在一次集成中需要执行的任务。

不过我之后是用的Github作为git server。但其实差不多。

4. 部署方式

(1) jenkins触发式构建:

用于开发环境部署,开发人员push代码或者合并代码到gitlab项目的master分支,jenkins就部署代码到对应服务器。

(2) jenkins参数化构建:

用于测试环境预上线环境部署,开发push代码或者合并代码到gitlab项目的master分支之后,并不会部署代码,而是需要登录到jenkins的web界面,点击构建按钮,传入对应的参数(比如参数需要构建的tag,需要部署的分支)然后才会部署。

(3) jenkins定时构建:

用于APP自动打包,定时构建是在参数化构建的基础上添加的,开发人员可以登录jenkins手动传入tag进行打包,如果不手动打包,那么jenkins就每天凌晨从gitlab拉取最新的APP代码打包。

5. 持续集成的分类

超详细的jenkins持续集成工作原理、功能、部署方式等介绍

  • 持续集成:指程序员在代码的开发工程中,可以频繁的将代码部署到主干上,并进行自动化测试
  • 持续交互:指在持续集成的基础之上,将代码部署到线上测试环境
  • 持续部署:指在持续交互的基础之上,将要部署的代码实现自动部署,包括持续交互、持续部署

【编辑推荐】

  1. IBM宣布开源Power,OpenPOWER基金会加入Linux基金会
  2. 项目内出现广告位引争议,开源如何持续健康运营?
  3. 基于Windows操作系统安装部署Jenkins教程
  4. 马化腾首谈腾讯开源时,鹅厂已在Github上放出82个项目,标星24万
  5. DeepMind 把自己的“杀手锏”开源了!
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读