zoukankan      html  css  js  c++  java
  • Jenkins持续集成【简介】

    1.1 目前主流网站部署的流程

       目前主流网站部署方法,通过Hudson/Jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins非常易于安装和配置,简单易用。

    简单来说方便如下人员:

    1)开发人员:写好代码,不需要自己进行源码编译、打包等工作,直接将代码分支存放在SVNGIT仓库即可。

    2)运维人员:减轻人工干预的错误率,同时解放运维人员繁杂的上传代码、手动备份、更新。

    3)测试人员:可以通过jenkins进行简单的代码及网站测试。

     

    1.2  Jenkins持续集成简介

       持续集成(Continuous Integration)是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。本文正是从持续集成的基本概念入手,通过具体实例,介绍了如何基于 Jenkins 快速搭建持续集成环境。

    Jenkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins非常易于安装和配置,简单易用。

     

    1.2.1 构建代码名词解释

    在学习Jenkins之前我们先来了解几个常用的开发代码、构建代码的几个名词:MAKEANTMAVENEclipseJenkins

    1)Make工具

    Linux或者Windows最原始的编译工具,在linux下编译程序常用makeWindows下对应的工具为nmake)。它负责组织构建的过程,负责指挥编译器如何编译,连接器如何连接,最后生成一个可用的文件。

    2)Ant工具

    Make编译一些比较复杂的工具使用起来不灵活,语法很难理解,延伸出ant工具。

    3)Maven工具

    Maven工具是对ant工具的进一步改进,在make工具中,如果我们要编译某些源文件,首先要安装编译器等工具。有时候需要不同版本的编译器,在java的编译器需要不同的各种包的支持,如果把每个包都下载下来,在makefile中进行配置制定,当需要的包非常多时,很难管理。

    Mavenmake一样,是个构建(build)工具,它如何调用各种不同的编译器连接器等呢?使用Maven plugin (maven 插件)。

    4)Jenkins工具

    Maven已经很强大了,那Jenkins是个什么东西?

    其实Maven还是不够强大。Maven可以控制编译,控制连接,可以生成各种报告,可以进行代码测试。

    可是如何控制这个流程呢? 编译还是先连接?先进行代码测试,还是先生成报告?可以使用脚本来对maven进行控制,实现这些流程的控制。

    5)Eclipse工具

    Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development KitJDK)。

    6)Maven项目对象模型POM (Project Object Model),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。

    7)POMMaven项目中的文件,使用XML表示,名称叫做pom.xml。在Maven中,当谈到Project的时候,不仅仅是一堆包含代码的文件。一个Project往往包含一个配置文件,包括了与开发者有关的,缺陷跟踪系统,组织与许可,项目的URL,项目依赖,以及其他。它包含了所有与这个项目相关的东西。事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。

    8)由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

    1.2.2 . 持续集成意义

    1)持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;

    2)持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;

    3)持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。

     

    1.2.3 . 持续集成组件

    1)一个自动构建过程,包括自动编译、分发、部署和测试;

    2)一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库,例如SVNGIT代码库;

    3)一个jenkins持续集成服务器(123.57.11.213服务器就是一个配置简单和使用方便的持续集成服务器)

     

     

  • 相关阅读:
    [Android]Parcelable encountered IOException writing serializable object (name = xxx)
    开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]
    poj3070--Fibonacci(矩阵的高速幂)
    Java泛型解析(03):虚拟机运行泛型代码
    PHP中的替代语法
    在ubuntu上部署hadoop时出现的问题
    js闭包(函数内部嵌套一个匿名函数:这个匿名函数可将所在函数的局部变量常驻内存)
    js匿名函数(变量加括号就是函数)
    javascript进阶课程--第三章--匿名函数和闭包
    js实现科学计算机
  • 原文地址:https://www.cnblogs.com/dadonggg/p/8350052.html
Copyright © 2011-2022 走看看