zoukankan      html  css  js  c++  java
  • git+jenkins

     开发写代码的演变

    • 一个开发单打独斗,撸代码,开发网站,自由自在
    • 多个开发同时开发一个网站,同时改一份代码。但是同时改一个文件会导致冲突
    • 分支结构,每天上班第一件事克隆代码,下班前最后一件事合并代码

            

    • 好景不长,开发越来越多,代码文件越来越多。每天下班前合并代码时,发现很多合并失败的文件。最后每天加班三小时人工合并代码。
    • 解决方法:将合并代码的周期缩短,以前一天,现在一小时,半小时。。。
    • 随时随地将代码合并,这种方法叫做持续集成。

    持续集成

    • 持续集成(CONTINUOUS INTEGRATION,简称CI)
    • 持续集成指的是:频繁地(一天多次)将代码集成到主干。
    • 它的处理好处主要有两个
      • 快速发现错误。每完成一点更新,就集成到主干。可以快速发现错误,定位错误也比较容易。
      • 防止分支大幅度偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,升值难以集成。

    运维上线代码的演变

    • 初级运维很苦逼,刚开始开发每天合并一次代码,然后运维把代码pull下来测试就可以了。
    • 但是,后来开发引进了持续集成的方法论,开发们都“弹冠相庆”。
    • 运维同学感觉好苦逼,一天到晚不停的测试代码
    • 每天下班之后,运维拖着疲倦的身子回到宿舍,就想,有没有办法自动化?
    • 初级运维请教了传说中的大神,知道了一种方法。
    • 借助一个自动化的部署工具,叫JENKINS
    • 开发上传自己的代码到gitlab,gitlab发消息通知JENKINS,随后JENKINS从仓库拉取代码,然后全自动部署到测试服务器进行测试,并将测试结果通知运维和开发。
    • 还有偷懒的方法,直接把这个工具交给开发使用,从此就可以高枕无忧了
    • 这种自动测试的方法叫做“持续交付”

    持续交付

    • 持续交付(CONTINUOUS DELIVERY)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段
    • 持续交付可以看做持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。

    运维上线代码的演变

    • 代码测试通过了,该到生产环境部署了,运维又该干活了
    • 其实这是一锤子买卖了,要么成功,要么是吧回滚。
    • 可以使用自动部署工具,但是很多公司还是相信人工上线。
    • 但是我们还有偷懒的方法,比如:ANSIBLE,SALTSTACK
    • 这里也有个方法叫:持续部署。

    持续部署

    • 持续部署(CONTINUOUS DEPLOYMENT)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。
    • 持续部署的目标是,代码在任何时刻都是可以部署的,可以进入生产阶段。

       行话:CI/CD - > 持续集成/持续交付/持续部署

    JENKINS介绍

    •  JENKINS是一个用JAVA编写的开源的持续集成工具。在与ORACLE发生争执后,项目从HUDSON项目独立了。
    • JENKINS提供了软件开发的持续集成服务。它运行在Servlet容器中。它支持软件配置管理(SCM)工具,可以执行基于APACHE ANT,和APACHE MAVEM的项目,以及任意的shell脚本和Windows批处理命令,JEKINS的主要开发者是川口耕介。JENKINS是在MIT许可证下发布的自由软件。

     安装JENKINS

    环境准备

    1. 准备两台安装好centos系统的虚拟机,内存1G+
    2. 所有虚拟机的防火墙和SELINUX
    3. 主机名和IP地址关系如下:
      1. JENKINS 10 10.0。0.22
      2. Gitlab 10.0.0.201

    4. Linux能发送邮件账户

     常规安装方法:使用rpm包安装

    RPM包下载地址:
    http://pkg.jenkins.io/redhat-stable/
    清华源地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/
    # yum安装jdk
    yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
    # 安装rpm包
    rpm -ivh jenkins-2.73.1-1.1.noarch.rpm
    # 启动
    /etc/init.d/jenkins start

    离线安装方法:

    使用三个软件包

    jenkins_yum.tar.gz # 所有依赖包的缓存文件
    jenkins-2.73.1-1.1.noarch.rpm # jenkins安装包
    jenkins_plugins.tar.gz # jenkins常用插件
    步骤:
    tar xfP jenkins_yum.tar.gz
    yum -C --nogpgcheck install java-1.8.0-openjdk java-1.8.0-openjdk-devel
    rpm -ivh jenkins-2.73.1-1.1.noarch.rpm
    /etc/init.d/jenkins star

    JENKINS的使用

     步骤1:安装插件离线包

    tar xfP jenkins_plugins.tar.gz
    /etc/init.d/jenkins restart
    注:Jenkins插件目录/var/lib/jenkins/plugins/

    步骤2:查看rpm安装目录

    rpm -ql jenkins

    步骤3:配置并发执行任务数量

    步骤4:邮件配置(系统管理->系统设置)

  • 相关阅读:
    【转载】10个Web3D可视化精彩案例
    基于react的audio组件
    如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
    CSS3 用border写 空心三角箭头 (两种写法)
    浅谈微信小程序对于创业者,意味着什么?
    左手Cookie“小甜饼”,右手Web Storage
    css3中user-select的用法详解
    个人感觉一些比较有用的特效例子
    纯css模拟电子钟
    蓝桥杯 ALGO-2:最大最小公倍数
  • 原文地址:https://www.cnblogs.com/52-qq/p/9758893.html
Copyright © 2011-2022 走看看