美文网首页持续集成
Jenkins持续集成

Jenkins持续集成

作者: Jerry_Liang | 来源:发表于2018-11-24 13:33 被阅读0次
    image

    什么是Jenkins?


    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。 通常与版本管理工具(SCM)、构建工具结合使用;常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

    Jenkins两大特性


    1.持续集成Continuous integration, CI

    image

    持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

    持续集成有以下几个优点:

    • 从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,减少人工干预;

    • 任何时间、任何地点生成可部署的软件,出现问题,项目成员会被马上通知到,问题第一时间修复;

    • 增强项目可见性,有效的控制台日志能帮助我们更好的解决存在的问题。

    2.持续交付Continuous delivery, CD

    持续交付则是经典的敏捷的软件开发方法的自然延伸,它强调产品在修改后到部署上线的流程要敏捷话、自动化。甚至一些较小的改变也要尽早的部署上线。通俗的讲可以有几个特点:

    • 代码越早交付出去,用户越早能用到,快就是商业价值;

    • 用户反馈能及时作出处理,能帮助产品市场人员调整测策略;

    • 降低修改成本。

    image

    前后对比


    1.传统的项目部署

    image

    2.持续部署

    image

    Jekins的安装


    官方下载地址:https://jenkins.io/download/

    image

    我选择下载的war包,将war包用xftps传到自己的服务器后有两种方式可以启动jenkins:

    第一种: ​ 将war包移至tomcat/webapps下,启动tomcat ​ 浏览器输入: 你的IP地址:tomcat开放的端口号

    第二种:

    进入你war包存放的位置,输入以下指令后台启动jenkins:

    nohup java -jar jenkins.war --logfile=server.log --httpPort=8088 > server.log 2>& 1 &

    默认情况不指定--httpPort的话jenkins使用的是8080端口,在此我指定的端口是8088

    Jenkins的配置


    以下为Jenkins的主界面:

    image

    其中主要的配置都是在系统管理中设置:

    • 系统设置里设置全局设置相关的内容;

    • 全局安全配置里配置各用户权限;

    • 在全局工具里配置相应的项目运行环境,比如JDK,MAVEN等;

    • 在插件管理中添加自己想要使用的插件;

    • 在节点管理中管理自己的服务器集群。

    image
    全局工具配置

    image

    配置JDK、Git、Maven等路径。

    插件管理

    image

    在插件管理中插件类型众多,很大程度的满足了我们的需求,可以选择自己需要使用的插件,也可以制作相应的插件上传。

    常用的插件:

    image

    主要介绍以下几个插件:

    GitHub Branch Source Plugin :代码仓库;

    Deploy to container Plugin :部署代码至相应的容器;

    Maven Integration Plugin :构建Maven项目需要使用此插件;

    SSH PluginSSH Slave Plugin :配置免密登录某一节点需要使用到;

    节点管理

    image

    新建项目


    image

    选择需要怎样构建一个项目,在此以构建一个自由风格的软件项目为例。

    源码管理

    image

    设置仓库url,构建时从此仓库获得源码。这里不仅可以使用Git源码管理,同样可以使用SVN,Coding等别的仓库,需要下载相应的插件。

    构建触发器

    image

    构建触发器是指以何种方式来触发自动构建:

    • 第一种:触发远程构建(例如,使用脚本)
    image

    图中的身份证令牌(TOKEN_NAME)即为要触发构建需要的KEY,访问URL中加入key后才可自动触发自动构建。

    • 第二种:在其他工程构建后触发;

    • 第三种:定时构建;

    • 第四种:GitHub hook trigger for GITScm polling,使用github上的webhook钩子来实现代码push时,发送相应的请求,该请求即为我们触发自动构建的URL加key;

    • 第五种:轮询SCM,

    构建

    此处选择的是执行相应的shell命令:

    image
    BUILD_ID=DONTKILLME
    . /etc/profile
    export PROJ_PATH=pwd
    export TOMCAT_APP_PATH=/usr/local/tomcat/apache-tomcat-8.5.34
    
    sh $PROJ_PATH/order/deploy.sh
    

    其中前四句指令是在/etc/profile/路径下添加PROJ_PATH(项目路径)的环境配置,TOMVAT_APP_PATH(tomcat路径),最后一个是执行项目中的脚本。

    相关文章

      网友评论

        本文标题:Jenkins持续集成

        本文链接:https://www.haomeiwen.com/subject/riaeqqtx.html