jenkins+maven+svn 持续集成环境搭建
说明:部署传统的web应用(.war)
准备工作:
(1) 系统环境:CentOS7
(2) 安装JDK:https://www.cnblogs.com/myitnews/p/11493847.html
(3) 安装Tomcat:https://www.cnblogs.com/myitnews/p/11493980.html
在tomcat-users.xml中配置访问服务器的用户名和密码
(4) 安装Maven:https://www.cnblogs.com/myitnews/p/11492967.html
(5) 搭建SVN服务器:https://www.cnblogs.com/myitnews/p/11492187.html
一、Jenkins 主体程序安装配置
下载地址:https://jenkins.io/download/
1. 把 jenkins.war (v2.176.3)放在 Tomcat 解压目录 /webapps 目录下
2. 打开 Tomcat 解压目录/server.xml 修改 URL 地址的编码解码字符集
vi /usr/local/tomcat7/conf/server.xml
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
3. 启动 Tomcat 并通过浏览器访问:http://192.168.178.5:8080/jenkins

#密文同时也是 admin 账号的密码
cat /root/.jenkins/secrets/initialAdminPassword
5. 选择插件安装方式
输入密文后,初始化后,选择插件安装方式(选择哪种方式都不会对后续操作有太大影响。因为有需要的插件我们可以在后续有针对性的安装)。在这里选择“安装推荐的插件”。

开始安装插件如下:
打×的插件是由于网络传输导致的安装失败,后面再重新安装即可。
※注意:这个步骤中如果选择了安装插件则 Linux 必须能够联网。

6. 新建账号或以管理员身份继续


二、系统初始化配置








三、创建工程
package com.linhw.demo;
public class Apple {
private String apple = "jenkins test......";
public String getApple() {
return apple;
}
}
<%@page import="com.linhw.demo.Apple"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=new Apple().getApple() %>
</body>
</html>
# 创建目录
mkdir apple
# 创建apple仓库
svnadmin create apple
(3) 修改SVN仓库相关的配置
authz :设置用户读写权限
passwd:设置用户名和密码
svnserve.conf:设置授权访问
(4) 在Eclipse下创建SVN仓库
仓库地址:svn://192.168.178.5/apple
(5) 在Eclipse下将Apple项目提交到SVN仓库中

















(1) 获取crubm值
由于2.0以上版本Jenkins增加了防跨站攻击功能,因此在每次访问Jenkins api的时候都需要将crubm参数带上,否则会提示认证不通过。
浏览器访问:http://ip:port/crumbIssuer/api/json
举例:http://192.168.178.5:8080/jenkins/crumbIssuer/api/json
{"_class":"hudson.security.csrf.DefaultCrumbIssuer","crumb":"1fe463da428285deb2a0ee0181c0b44f","crumbRequestField":"Jenkins-Crumb"}
(2) curl命令说明
Linux 的 curl 命令用来发送 HTTP 请求。
-X 参数:指定请求方式
-v 参数:显示响应结果
-u 参数:携带用户名/密码
-H 参数:携带请求消息头信息
格式:curl -X post -v -u [Jenkins 用户名]:[Jenkins 密码] -H "请求消息头信息" http://[服务器 IP 地址]:[服务器端口 号]/jenkins/job/[Jenkins 项目名称]/build?token=[身份验证令牌]
举例:curl -X post -v -u admin:d769b039ccdc4b4dbe5624689aa81ad0 -H "Jenkins-Crumb:1fe463da428285deb2a0ee0181c0b44f" http://192.168.178.5:8080/jenkins/job/Apple/build?token=LHW_APPLE
说明:-H可以不写,如果认证不通过,再加上
在Linux命令行环境中输入上面的curl命令,发现会再次构建。
9. 编辑SVN钩子程序
# 进入svn仓库
cd /var/svn/svnrepos/apple
# 进入hooks文件夹
cd hooks
# 查看文件
ls -l

#复制,千万不能带后缀名,直接post-commit
cp post-commit.tmpl post-commit
编辑:vi post-commit
可以将内容都注释掉,然后在末尾添加我们上面的curl命令。
保存退出,给post-commit授权执行
chmod 755 post-commit
这样我们在提交代码后,就会触发钩子程序,钩子程序通知Jenkins构建。
10. 测试验证整个自动化持续集成流程
在Eclipse中提交代码,查看JenKins的构建界面,用浏览器访问项目。
测试过程过程中,可能会发现Jenkins构建的总是上一个版本的,并不是最新的(在一些较低版本会出现),怎么解决呢?
在“源码管理”中的Repository URL为:svn://192.168.178.5/apple/Apple@HEAD
jenkins+maven+svn 持续集成环境搭建的更多相关文章
- Linux下Jenkins+git+gradle持续集成环境搭建
Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集 发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文 一.项目介绍 和 linux ...
- Jmeter+Ant+Jenkins接口自动化持续集成环境搭建(Linux)
一.安装说明 系统环境:CentOS release 6.4 JDK版本:jdk1.8.0_181 Jmeter版本:apache-jmeter-3.0 Ant版本:apache-ant-1.9.13 ...
- Jenkins + svn + maven 构建持续集成环境搭建
Jenkins简介 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: ...
- Jenkins Robot framework 持续集成环境搭建
为什么我们要引入RF?其实最初我们引入RF是为了能够快速的开展自动化验收测试,为敏捷保驾护航.这其中有个重要的工具Jenkins,同时也是应群里朋友们的要求,这次就来介绍一下RF如何快速便捷的结合Je ...
- jenkins+donet core持续集成环境搭建
一.Jenins+GitHub 参考 另外需要配置Global Tool Configuration 如果没有安装git,需下载安装,下载地址 二.jenkins发布donet core应用 1.配置 ...
- 构建基于Jenkins + Github的持续集成环境
搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...
- Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建
1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. ————————————————— ...
- SSM 框架-03-MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
SSM 框架-03-MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建 如果你是使用 Eclipse 你需要先安装 MyEclipse,请参考:SSM 框架-02-MyEclipse ...
- 用Jenkins构建Django持续集成环境
用Jenkins构建Django持续集成环境 - V2EX https://www.v2ex.com/t/32054
随机推荐
- insertAdjacentHTML和insertAdjacentText的使用(在指定位置插入代码或者文字)
insertAdjacentText方法与insertAdjacentHTML方法类似,只不过只能插入纯文本,参数相同.
- java中的转义字符(遇到再进一步总结)
一.常见的转义字符转移字符对应的英文是escape character , 转义字符串(Escape Sequence)字母前面加上捺斜线""来表示常见的那些不能显示的ASCII字 ...
- Docker 简单发布dotnet core项目 图文版
原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 需要结合这个版本看哈 地址:https://ww ...
- LSTM容易混淆的地方
1 如果只是学习怎么用LSTM,那么可以这么理解LSTM LSTM可以看成一个仓库,而这个仓库有三个门卫,他们的功能分别是 遗忘门.决定什么样的物品需要从仓库中丢弃. 输入门.决定输入的什么物品用来存 ...
- 面试被问怎么排查平时遇到的系统CPU飙高和频繁GC,该怎么回答?
处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警.本文主要针对系统运行缓慢这 ...
- 大话设计模式Python实现-备忘录模式
备忘录模式(Memento Pattern):不破坏封装性的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态,这样已经后就可将该对象恢复到原先保存的状态 下面是一个备忘录模式的demo: #! ...
- 十二、Spring之IOC容器初始化
Spring之IOC容器初始化 前言 在前面我们分析了最底层的IOC容器BeanFactory,接着简单分析了高级形态的容器ApplicationContext,在ApplicationContext ...
- WPF 通过Win32SDK修改窗口样式
使用函数为 SetWindowLong GetWindowLong 注册函数 [DllImport("user32.dll", EntryPoint = "GetWind ...
- 云原生生态周报 Vol.10 | 数据库能否运行在 K8s 当中?
业界要闻 IBM 以总价 340 亿美元完成里程碑意义的红帽收购:这是这家拥有 107 年历史的公司史上规模最大的一笔收购,该收购金额在整个科技行业的并购史上也能排到前三.在当天公布的声明中,IBM ...
- Java匹马行天下之学编程的起点——走进编程的殿堂
学编程的起点——走进编程的殿堂 前言: 知其然,知其所以然,努力固然重要,但是思维的提升会让你事半功倍,我会用我花费时间换来的“思维”带更多的朋友入门,让你们明明白白学编程,学编程,不迷茫. 转变思维 ...