持续集成工具jenkins的使用
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的使用的更多相关文章
- 持续集成工具Jenkins学习总结
概述 持续集成(Continuous Integration,简称CI)是一种软件开发实践,团队开发人员每次都通过自动化的构建(编译.发布.自动化测试)来验证,从而尽早的发现集成错误.持续集成最大的优 ...
- 持续集成工具Jenkins安装、部署、使用
本文介绍jenkins,利用其做项目发布与持续集成交付工具. 一.Jenkins是什么? Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布 ...
- 轻松搭建持续集成工具jenkins
1.Jenkins介绍1)什么是持续集成随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软 ...
- 持续集成工具——Jenkins
一.jenkins简介 1.持续集成工具 2.基于JAVA环境 二.环境搭建 1.安装JDK 2.安装配置git 3.安装配置tomcat Tomcat是针对Java的一个开源中间件服务器(容器),基 ...
- 持续集成工具-Jenkins 使用介绍
Jenkins 是一个可扩展的持续集成引擎,可以为我们提供代码自动编译.打包和发布工作,减少部署成本. 一.安装与启动 Jenkins 提供了多种便捷的安装方式,比较推荐使用执行 war 包的方式. ...
- linux-centos下持续集成工具jenkins部署使用教程
centos下准备工作: 1.安装jdk环境 2.安装maven环境(用于构建项目) 3.git客户端(用于拉取源码) 此外码云还要准备一份java源码(springboot项目) 一.安装jenki ...
- 【Gerrit】持续集成工具Jenkins的安装配置与使用过程中遇到的问题整理
1.下载war包 https://jenkins.io/download/ 2.安装 java -jar jenkins.war Error: Feb 21, 2019 2:17:25 AM wins ...
- 持续集成工具之jenkins+sonarqube做代码扫描
上一篇我们主要聊了下代码质量管理平台sonarqube的安装部署以及它的工作方式做了简单的描述和代码扫描演示:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13 ...
- 【持续集成】jenkins安装部署从git获取代码
一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部署Continuous Deployment 1. ...
随机推荐
- [leetcode]Set Matrix Zeroes @ Python
原题地址:https://oj.leetcode.com/problems/set-matrix-zeroes/ 题意:Given a m x n matrix, if an element is 0 ...
- COCO数据集深入理解
TensorExpand/TensorExpand/Object detection/Data_interface/MSCOCO/ 深度学习数据集介绍及相互转换 Object segmentation ...
- js将滚动条滚动到指定位置的方法
代码如下(主要是通过设置Location的hash属性): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...
- 矩阵中的旋转(Rotation)
参考的是<游戏和图形学的3D数学入门教程>,算是读书笔记吧. 目录 [隐藏] 1.2D中的旋转 2.3D中的旋转 2.1绕x轴旋转: 2.2绕Y轴旋转 2.3绕Z轴旋转 1.2D中的旋转 ...
- 在SAE分布式服务上开发需要解决的问题
这是在开发“幸运猜数”微信游戏的时候遇到的问题 对游戏感兴趣的,可以关注微信公众ID: EasyTool 回复[幸运猜数]开始游戏 之前提供的功能:[黄金][双色球][记事]等,都是无状态服务 而开发 ...
- Java中夏令时带来的Date不一致问题 (转)
http://www.cnblogs.com/snake-hand/archive/2013/06/10/3131157.html 最近同事W发现使用Java Date创建日期,在不同的机器上执行,得 ...
- Windows远程桌面连接的利器-mRemote
mRemoteNG是Windows平台下一款开源的支持多标签.多协议的远程连接管理器.平时我们可能安装N多款管理工具,如putty.SecureCRT.xshell.SSHshell.mstsc.ex ...
- unity3d内存管理坑爹之处
Resources.UnloadUnusedAssets();会卸载没有引用的资源,切场景也会自动清理 但是注意,如果不调,是不会自动清理的,比如不断的用www加载图片资源,即使没有引用,也一样在内存 ...
- 如何防止XSRF攻击
XSRF全称是 cross-site request forgery(跨站点请求伪造),也称为CSRF,是一种常见的web攻击方式. 攻击形式描述如下: 1.用户登录并访问一个正常的站点 http:/ ...
- (C++)关于拷贝构造函数 Copy Constructor
题目: In which of the following scenarios is a Copy Constructor called or invoked? A. When no conve ...