jenkins类似于Hadson,是一款持续集成工具。使用jenkins完成自动化部署的表现为:当开发人员向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序。搭建该持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻了重复的工作量。

该持续集成环境工作流程如下:

安装及使用jenkins

1. jenkins主体程序安装配置

将jenkins.war放在tomcat解压目录/wabapps目录下(linux系统下),注意要修改配置文件server.xml 中的编码字符集

启动tomcat,按照提示输入管理员密码,自定义jenkins可以选择或者跳过,需要注意的是选择安装插件的话,linux服务器得能联网下载。

配置JDK和Maven并安装Deploy插件

插件安装

2. 创建svn资源库,新建一个项目上传测试

linux资源库目录

项目目录如下

3. 配置任务来集成该项目

配置具体内容

svn资源库用户信息

构建选项

构建后操作,发布到tomcat

配置tomcat信息

构建触发器名称配置

4. 配置完成可立即构建

构建成功可访问项目地址

可通过时间轴查看构建历史

当我们项目发生更改并提交时,再次构建即可看到变化

5. 触发器

当然,实际工作中我们肯定不能每次提交后都要手动构建,jenkins能够准确的检索到并自动构建发布,这需要我们构建触发器。

通过使用触发远程构建,设置构建触发器中的身份验证令牌名称作为一个标识,当访问包含该令牌的地址时会触发一次构建,地址拼接方法如图

浏览器访问:http://47.98.XXX.X51:8080/jenkins/job/testJenk/build?token=TESTJENK_TOKEN ,触发一次构建

可通过使用脚本来设置在代码提交后执行脚本访问特定地址,触发构建,通过curl命令可访问指定地址

Linux的curl命令用来发送HTTP请求

  • -X参数:指定请求方式
  • -v参数:显示响应结果
  • -u参数:携带用户名、密码
  • -H参数:携带请求消息头信息

语法:

执行该命令即触发一次构建:

curl -X post -v -u admin:706ba3718b9e4fXXb2c114013189d516 http://47.98.XXX.X51:8080/jenkins/job/testJenk/build?token=TESTJENK_TOKEN

通过编辑svn版本库中的钩子程序来捕捉每一次的提交,实现代码提交之后自动触发构建

编辑过程为将原有内容注释,加入curl命令

这样的当svn有提交时,会自动触发构建。

如果发生jenkins服务器从svn上下载的代码不是最新版的情况,则在svn服务器的URL地址后加上@HEAD来强制下载最新版代码。

6. 搭建Github持续集成环境

需要注意以下几点

在jenkins中指定git程序位置

git中的钩子程序的功能是通过Webhooks来实现的

全局安全配置关闭防止跨站点请求伪造

持续集成工具jenkins的使用的更多相关文章

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

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

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

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

  3. 轻松搭建持续集成工具jenkins

    1.Jenkins介绍1)什么是持续集成随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软 ...

  4. 持续集成工具——Jenkins

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

  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+sonarqube做代码扫描

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

  9. 【持续集成】jenkins安装部署从git获取代码

    一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部署Continuous Deployment 1. ...

随机推荐

  1. tensorflow报错屏蔽的方法

    之前是报这样的错: OpKernel ('op: "BestSplits" device_type: "CPU"') for unknown op: BestS ...

  2. linux C++ 多线程使用pthread_cond 条件变量

    1. 背景 多线程中经常需要使用到锁(pthread_mutex_t)来完成多个线程之间的互斥操作. 但是互斥锁有一个明显到缺点: 只有两种状态,锁定和非锁定. 而条件变量则通过允许线程阻塞并等待另一 ...

  3. Visual Studio 2008 安装失败(“Web 创作组件”无法安装)(转)

    今天安装VS2008时出现了问题,怎么都无法安装成功.装了好几次都在“Visual Studio Web 创作组件(Visual Studio Authoring Component)”的安装的时候失 ...

  4. Android -- tools

    工具属性 Android 有一个专用的XML命名空间,用于使工具可以记录XML文件里的信息,并且在打包程序的进行把信息剥离到不会带来运行时期和下载大小的负面影响的程度. 这个命名空间的 URI 是 h ...

  5. SQL Server 数据库性能优化

    分析比较执行时间计划读取情况 1. 查看执行时间和cpu set statistics time on select * from Bus_DevHistoryData set statistics ...

  6. 解决PHP使用CVS导出Excel乱码问题

    在使用PHP生成CVS文件后通过Excel打开发现中文全部变成了乱码,之前在我本地win08通过WPS正常的,但上传到服务器Linux在服务器上测试出现了乱码 一开始以后是Linux的问题但后来测试时 ...

  7. PHP ECSHOP中 诡异的问题:expects parameter 1 to be double

    使用Ecshop给客户做了一个商城系统,在测试时发现后台在更改订单的配送方式时出现了以下问题 "PHP Warning: number_format() expects parameter ...

  8. MFC自定义控件如何向父窗口发送自定义消息

    自定义了一个控件 class CHtmlEditCtrlEx : public CHtmlEditCtrl   想在这个控件接收到Ctrl+V键盘消息的时候,向该控件所在的窗口发送一个自定义消息.具体 ...

  9. Jquery中的高度

    $('.someElement').height(); // returns the calculated pixel height of the element(s) $(window).heigh ...

  10. redis-dev

    redis install by centos   -------------------------------------------------------------------------- ...