目前主流网站部署方法,经过Hudson/Jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins很是易于安装和配置,简单易用。java
简单来讲方便以下人员:linux
1)开发人员:写好代码,不须要本身进行源码编译、打包等工做,直接将代码分支存放在SVN、GIT仓库便可。服务器
2)运维人员:减轻人工干预的错误率,同时解放运维人员繁杂的上传代码、手动备份、更新。框架
3)测试人员:能够经过jenkins进行简单的代码及网站测试。运维
持续集成(Continuous Integration)是一种软件开发实践,对于提升软件开发效率并保障软件开发质量提供了理论基础。Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。本文正是从持续集成的基本概念入手,经过具体实例,介绍了如何基于 Jenkins 快速搭建持续集成环境。maven
Jenkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins很是易于安装和配置,简单易用。工具
在学习Jenkins以前咱们先来了解几个经常使用的开发代码、构建代码的几个名词:MAKE、ANT、MAVEN、Eclipse、Jenkins等学习
1)Make工具开发工具
Linux或者Windows最原始的编译工具,在linux下编译程序经常使用make(Windows下对应的工具为nmake)。它负责组织构建的过程,负责指挥编译器如何编译,链接器如何链接,最后生成一个可用的文件。测试
2)Ant工具
Make编译一些比较复杂的工具使用起来不灵活,语法很难理解,延伸出ant工具。
3)Maven工具
Maven工具是对ant工具的进一步改进,在make工具中,若是咱们要编译某些源文件,首先要安装编译器等工具。有时候须要不一样版本的编译器,在java的编译器须要不一样的各类包的支持,若是把每一个包都下载下来,在makefile中进行配置制定,当须要的包很是多时,很难管理。
Maven像make同样,是个构建(build)工具,它如何调用各类不一样的编译器链接器等呢?使用Maven plugin (maven 插件)。
4)Jenkins工具
Maven已经很强大了,那Jenkins是个什么东西?
其实Maven仍是不够强大。Maven能够控制编译,控制链接,能够生成各类报告,能够进行代码测试。
但是如何控制这个流程呢? 编译仍是先链接?先进行代码测试,仍是先生成报告?可使用脚原本对maven进行控制,实现这些流程的控制。
5)Eclipse工具
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其自己而言,它只是一个框架和一组服务,用于经过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
6)Maven项目对象模型POM (Project Object Model),能够经过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特点以外,还提供高级项目管理工具。
7)POM是Maven项目中的文件,使用XML表示,名称叫作pom.xml。在Maven中,当谈到Project的时候,不只仅是一堆包含代码的文件。一个Project每每包含一个配置文件,包括了与开发者有关的,缺陷跟踪系统,组织与许可,项目的URL,项目依赖,以及其余。它包含了全部与这个项目相关的东西。事实上,在Maven世界中,project能够什么都没有,甚至没有代码,可是必须包含pom.xml文件。
8)因为 Maven 的缺省构建规则有较高的可重用性,因此经常用两三行 Maven 构建脚本就能够构建简单的项目。因为 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,并且公司项目采用 Maven 的比例在持续增加。
1)持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减小重复过程以节省时间、费用和工做量;
2)持续集成保障了每一个时间点上团队成员提交的代码是能成功集成的。换言之,任什么时候间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;
3)持续集成还能利于软件自己的发展趋势,这点在需求不明确或是频繁性变动的情景中尤为重要,持续集成的质量能帮助团队进行有效决策,同时创建团队对开发产品的信心。
1)一个自动构建过程,包括自动编译、分发、部署和测试;
2)一个代码存储库,即须要版本控制软件来保障代码的可维护性,同时做为构建过程的素材库,例如SVN、GIT代码库;
3)一个jenkins持续集成服务器(123.57.11.213服务器就是一个配置简单和使用方便的持续集成服务器)