为了账号安全,请及时绑定邮箱和手机立即绑定

【Jenkins 学习笔记】玩转持续集成与持

标签:
Premiere

1 Jenkins 概述

Jenkins 是一个开源软件项目,是基于Java开发的一种可拓展持续集成工具,主要用于持续、自动地构建 / 测试 / 集成软件项目以及监控一些定时执行的任务

Jenkins拥有的特性包括:

  • 易于安装,只要把 jenkins.war 部署到 Tomcat 即可运行

  • 易于配置,所有配置都是通过其提供的 web 界面实现

  • 集成 RSS/E-mail,通过 RSS 发布构建结果或当构建完成时通过 e-mail 通知

  • 生成 JUnit / TestNG 测试报告

  • 分布式构建,支持 Jenkins 能够让多台计算机一起构建/测试

  • 文件识别,Jenkins 能够跟踪哪次构建生成哪些 jar,哪次构建使用哪个版本的 jar 等

  • 插件支持,支持扩展插件,你可以开发适合自己团队使用的工具


2 持续集成

持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。一个标准的持续集成系统能做到

  • 软件构建自动化:配置完成后,CI 系统会依照预先制定的时间表或者针对某一特定事件,对目标软件进行构建

  • 构建可持续的自动化检查:CI 系统能持续地获取新增或修改后嵌入的源代码,也就是说,当软件开发团队需要周期性的检查新增或修改后的代码时,CI 系统会不断确认这些新代码是否破坏了原有软件的成功构建。这减少了开发者们在检查彼此相互依存的代码中变化情况需要花费的时间和精力

  • 构建可持续的自动化测试:构建检查的扩展部分,构建后执行预先制定的一套测试规则,完成后触发通知(Email,RSS等等)给相关的当事人

  • 生成后后续过程的自动化:当自动化检查和测试成功完成,软件构建的周期中可能也需要一些额外的任务,诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户使用。

部署一个 CI 系统需要的最低要求是,一个可获取的源代码的仓库,一个包含构建脚本的项目。下图概括了CI系统的基本结构:

webp

该系统的各个组成部分是按如下顺序来发挥作用的:

  • 1、开发者检入代码到源代码仓库

  • 2、CI 系统会为每一个项目创建了一个单独的工作区。当预设或请求一次新的构建时,它将把源代码仓库的源码存放到对应的工作区

  • 3、CI 系统会在对应的工作区内执行构建过程

  • 4、(配置如果存在)构建完成后,CI 系统会在一个新的构件中执行定义的一套测试。 完成后触发通知(Email,RSS 等等)给相关的当事人

  • 5、(配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(如服务器)或存储为软件仓库中的一个新版本。软件仓库可以是 CI 系统的一部分,也可以是一个外部的仓库,诸如一个文件服务器或者像 Java.net、 SourceForge 之类的网站

  • 6、CI 系统通常会根据请求发起相应的操作,诸如即时构建、生成报告,或者检索一些构建好的构件

而 Jenkins 就是这样一个 CI 系统


3 JavaEE 项目部署方式对比

手动部署

webp

自动部署

“自动化” 的具体体现:向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序

webp

搭建上述持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻工作量。对于程序员的日常开发来说不会造成任何额外负担——自己把代码提交上去之后,服务器上运行的马上就是最新版本——一切都发生在无形中


4 Jenkins + Git 持续集成环境搭建

4.1 系统结构总述

  • 创建虚拟机安装 Linux 系统(这里用的 Ubuntu 16.04 64位)

  • 版本控制子系统

    • GitHub 服务器

    • 项目对应版本库

    • 版本库中钩子程序

  • 持续集成子系统

    • 主体程序

    • Maven 插件

    • Deploy to Web Container 插件

    • JDK

    • Tomcat

    • Maven

    • Jenkins

4.2 测试项目 与 版本控制子系统

使用 IDEA 创建一个 基于 Maven 的 JavaWeb 项目并上传到 GitHub 中(我已经将项目上传到 https://github.com/laiyuancai/HelloWorld

至于怎么创建项目和上传到 GitHub 这里就不一 一赘述了,下面给出参考网址

4.3 应用发布子系统

即创建一个 Linux 虚拟机,并安装好 jdk、maven、git 、Tomcat。这里也不一 一赘述了,下面给出参考网址

4.4 Jenkins 主体程序安装配置

首先 下载 Jenkins ,将 jenkins.war 放在 Tomcat 的解压目录下的 /webapps 目录下

启动 Tomcat 并访问 http://虚拟机IP:8080/jenkins

webp

依照网页上的提示填入文件内容(也是 admin 的密码),点继续

webp

选择【安装推荐的插件】

webp

如果某些插件安装失败,重试即可。接着可以新建账号或者以管理员身份继续,这里新建一个管理员账号

webp

开始使用 Jenkins !

webp

4.5 系统初始化设置

点击左侧【系统管理-全局安全配置】

webp



作者:苍云横渡
链接:https://www.jianshu.com/p/0b4064206461


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消