持续集成工具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. ...
随机推荐
- postgresql共享内存的三个结构体
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/16105797 postgresql的共享内存维护主要 ...
- iOS开发--知识点总结
1 .全局变量,变量名前加下划线.和系统一致. 2 . nil指针为空 @“”字符串为空 (内容为空) == 判断内存地址 基本变量 对于一些基本类型 可以使用==来判断, ...
- [leetcode]Remove Duplicates from Sorted Array II @ Python
原题地址:https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/ 题意: Follow up for &quo ...
- [leetcode]Median of Two Sorted Arrays @ Python
原题地址:https://oj.leetcode.com/problems/median-of-two-sorted-arrays/ 题意:There are two sorted arrays A ...
- Nginx限制某个IP同一时间段的访问次数和请求数示例代码
nginx可以通过ngx_http_limit_conn_module和ngx_http_limit_req_module配置来限制ip在同一时间段的访问次数. ngx_http_limit_conn ...
- 微信小程序 this.data与this.setData
一.摘要 小程序中我们会经常使用到this.data与this.setData.其中this.data是用来获取页面data对象的,而this.setData是用来更新界面的.那么他们之间的区别与联系 ...
- 命令行下的html转pdf工具wkhtmltopdf
基于webkit和qt的html转pdf的命令行工具,非常好使 http://code.google.com/p/wkhtmltopdf/ http://www.cnblogs.com/shanyou ...
- php manager
https://phpmanager.codeplex.com/releases/view/69115
- HTTP认证与https简介
HTTP请求报头: Authorization HTTP响应报头: WWW-Authenticate HTTP认证是基于质询/回应(challenge/response)的认证模式. HTTP认证 ...
- [Algorithm] Reverse a linked list
It helps to understands how recursive calls works. function Node(val) { return { val, next: null }; ...