1.Jenkins介绍
1)什么是持续集成
随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。
持续集成正是针对这一类问题的一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。

核心价值体现在:
a、持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;
b、持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;
c、持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。

业界普遍认同的持续集成的原则包括:
1)需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有 IBM Rational ClearCase、CVS、Subversion 等;
2)开发人员必须及时向版本控制库中提交代码,也必须经常性地从版本控制库中更新代码到本地;
3)需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,如每半个小时构建一次;
4)必须保证构建的成功。如果构建失败,修复构建过程中的错误是优先级最高的工作。一旦修复,需要手动启动一次构建。

2)持续集成系统的组成
由此可见,一个完整的构建系统必须包括:
A、一个自动构建过程,包括自动编译、分发、部署和测试等。
B、 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。 
C、一个持续集成服务器。本文中介绍的 Jenkins/Jenkins 就是一个配置简单和使用方便的持续集成服务器。

3)Jenkins介绍

Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作

使用Jenkins人员需要对持续集成的概念有所了解,更多的要求对代码的编译过程很了解,Jenkins对于maven工程完整的编译和发布流程如下:
1、Jenkins从SVN上拉取代码到指定的编译机器上。 
2、在编译机器上触发编译命令或脚本。 
3、编译得到的结果文件。
4、把结果文件传到指定的服务器上。

2.Jenkins安装与配置
1)本次测试环境介绍
部署系统 Ubuntu14.04
Tomcat Tomcat8
JDK Jdk1.8
Maven Maven3.3.9
Jenkins Jenkins.war(1.565)
管理工具 Svn

2)安装jdk、tomcat、maven环境
1、安装jdk与tomcat
参照地址:http://jingyan.baidu.com/article/ff42efa9162ea5c19e22021c.html

a、解压下载的jdk的jar.gz文件到/usr/local/java下。
b、为java配置本地环境变量,并测试java环境是否配置成功。
~vim /etc/profile
JAVA_HOME=/usr/local/java
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$JAVA_HOME/bin:$PATH
export PATH CLASSPATH JAVA_HOME
~source /etc/profile
~java -version

图片1.png

注意::每次重启系统进入root权限都要source /etc/profile才能看到java的version

c、解压tomcat软件包apache-tomcat-8.tar.gz,并将解压文件移动到/usr/local下
启动tomcat服务器

cd /usr/local/tomcat/bin/

./startup.sh

访问http://localhost:8080

2、安装maven
参考地址:http://www.linuxidc.com/Linux/2012-03/56476.htm
A、解压maven到/usr/local/maven
然后修改环境变量:

vi /etc/profile

添加下面内容:

maven

M2_HOME=/usr/maven
PATH=$PATH:$M2_HOME/bin
export M2_HOME PATH

保存退出vi编辑器
然后使环境变量生效:

source /etc/profile 或注销重新登录

若成功,输入#mvn -v后显示:

图片2.png

3)部署jenkins到tomcat
Jenkins的部署过程很简单,只需要把下载的war包复制到tomcat的webapps目录下即可。

图片3.png

4)访问jenkins
启动tomcat,访问http://localhost:8080/jenkins

图片4.png

3.部署项目

1、系统设置,配置jdk与maven的环境

图片5.png

2、插件管理

图片6.png

图片7.png

3、源码管理

图片8_meitu_1.jpg

4、构建触发器

图片9.png

5、构建后操作,这需要tomcat-user.xml中设置tomcat账号密码才能正确部署项目并运行。

图片10.png

6、建立maven项目,并设置好参数后立即构建。如果正常构建则显示蓝色,错误为红色。可查看从构建日志中查看控制台输出的信息。

图片11.png

图片12.png

作者:java思维导图
链接:http://www.jianshu.com/p/8a7495d1b8e2
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

轻松搭建持续集成工具jenkins的更多相关文章

  1. 持续集成工具jenkins的使用

    jenkins类似于Hadson,是一款持续集成工具.使用jenkins完成自动化部署的表现为:当开发人员向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序.搭建 ...

  2. 持续集成工具——Jenkins

    一.jenkins简介 1.持续集成工具 2.基于JAVA环境 二.环境搭建 1.安装JDK 2.安装配置git 3.安装配置tomcat Tomcat是针对Java的一个开源中间件服务器(容器),基 ...

  3. 持续集成工具Jenkins学习总结

    概述 持续集成(Continuous Integration,简称CI)是一种软件开发实践,团队开发人员每次都通过自动化的构建(编译.发布.自动化测试)来验证,从而尽早的发现集成错误.持续集成最大的优 ...

  4. 持续集成工具Jenkins安装、部署、使用

    本文介绍jenkins,利用其做项目发布与持续集成交付工具. 一.Jenkins是什么? Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布 ...

  5. 持续集成工具-Jenkins 使用介绍

    Jenkins 是一个可扩展的持续集成引擎,可以为我们提供代码自动编译.打包和发布工作,减少部署成本. 一.安装与启动 Jenkins 提供了多种便捷的安装方式,比较推荐使用执行 war 包的方式. ...

  6. linux-centos下持续集成工具jenkins部署使用教程

    centos下准备工作: 1.安装jdk环境 2.安装maven环境(用于构建项目) 3.git客户端(用于拉取源码) 此外码云还要准备一份java源码(springboot项目) 一.安装jenki ...

  7. 【Gerrit】持续集成工具Jenkins的安装配置与使用过程中遇到的问题整理

    1.下载war包 https://jenkins.io/download/ 2.安装 java -jar jenkins.war Error: Feb 21, 2019 2:17:25 AM wins ...

  8. Jenkins快速搭建持续集成

    基于Jenkins快速搭建持续集成环境 Jenkins+tortoisesvn+MSBuild做到持续集成 附Jenkins的使用:http://www.infoq.com/cn/articles/M ...

  9. 持续集成工具之jenkins+sonarqube做代码扫描

    上一篇我们主要聊了下代码质量管理平台sonarqube的安装部署以及它的工作方式做了简单的描述和代码扫描演示:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13 ...

随机推荐

  1. [转] Jsp 重点

    讲师:传智播客 方立勋 4个域对象: pageContext | page 域 request | request 域 session | session 域 servletContext | app ...

  2. JDK bin指令

    jmap: 一.调用命令示例: jmap -F-dump:format=b,file=rmsheap.bin 6086 就会在当前目录下生成rmsheap.bin的文件,6086是Pid.-F是在某些 ...

  3. asterisk配置SIP服务器

    服务器asterisk我们安装完以后,需要在windows(就是自己的本机)上在安装一个客户端xlite,直接下载安装就行,安装完以后,我们就需要自己手动配置一下sip服务器了. 下面给大家讲一下怎么 ...

  4. click 模块使用方法说明

    !/usr/bin/env python -- coding: utf-8 -- import click @click.command() @click.option('--count', defa ...

  5. 第一章 先把Kubernetes跑起来

    1.1 先跑起来 k8s官网已经为大家准备好了一个现成的最小可用系统.  https://kubernetes.io/docs/tutorials/kubernetes-basics/ 1.2 创建K ...

  6. 浅谈PHP面向对象编程(九、设计模式)

    9.0 设计模式 在编写程序时经常会遇到一此典型的问题或需要完成某种特定需求,设计模式就是针对这些问题和需求,在大量的实践中总结和理论化之后优选的代码结构编程风格,以及解决问题的思考方式. 设计模式就 ...

  7. java中构造方法和方法super/this超类与子类中初始化顺序

    java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望 ...

  8. nodeJS的了解

    JavaScript不仅仅只能运行在浏览器中.任何有JS运行环境(runtime)的地方就可以运行JavaScript. Node.js对Google V8进行了封装. 有了Node.js,JavaS ...

  9. Tkinter PanedWindow

         Tkinter PanedWindow: 一个PanedWindow是一个容器部件可能包含任何数量的窗格,水平或垂直排列 一个PanedWindow是一个容器部件可能包含任何数量的窗格,水平 ...

  10. [Z] 将samba共享文件夹映射到linux的目录下

    Linux系统下访问远程共享资源 使用mount加载共享目录: -把WinXP机器192.168.16.249上的共享目录test001映射到本地目录/wdl/下. -把Linux机器192.168. ...