Jenkins Jenkins结合GIT Maven持续集成环境配置
Jenkins结合GIT Maven持续集成环境配置
by:授客 QQ:1033553122
测试环境
Jenkins2.32.1
CentOS Linux 7
git-1.8.3.1.tar.gz
下载地址:https://www.kernel.org/pub/software/scm/git/git-1.8.3.1.tar.gz
操作步骤
安装Git插件
插件名称:Git Plugin,安装步骤 略
安装Git客户端
jenkins所在服务器安装git客户端
# yum install gcc
# mkdir /usr/local/git
# tar -xvzf git-1.8.3.1.tar.gz
# cd git-1.8.3.1/
# ./configure --prefix=/usr/local/git
# make && make install
# cd /usr/local/git/bin/
# ls
git gitk git-shell git-upload-pack
git-cvsserver git-receive-pack git-upload-archive
配置GIT环境变量
# git
usage: git [--version] [--help] [-c name=value]
[--exec-path[=]] [--html-path] [--man-path] [--info-path]
[-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
[--git-dir=] [--work-tree=] [--namespace=]
[]
The most commonly used git commands are:
add Add file contents to the index
bisect Find by binary search the change that introduced a bug
branch List, create, or delete branches
checkout Checkout a branch or paths to the working tree
clone Clone a repository into a new directory
commit Record changes to the repository
diff Show changes between commits, commit and working tree, etc
fetch Download objects and refs from another repository
grep Print lines matching a pattern
init Create an empty Git repository or reinitialize an existing one
log Show commit logs
merge Join two or more development histories together
mv Move or rename a file, a directory, or a symlink
pull Fetch from and merge with another repository or a local branch
push Update remote refs along with associated objects
rebase Forward-port local commits to the updated upstream head
reset Reset current HEAD to the specified state
rm Remove files from the working tree and from the index
show Show various types of objects
status Show the working tree status
tag Create, list, delete or verify a tag object signed with GPG
安装JAVA JDK及MAVEN
参考文章:
CentOS7+svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布
Jenkins JDK,MAVEN,GIT配置
系统管理-Global Tool Configuration
新建项目与项目配置
新建时,选择“构建一个自由风格的项目”
【General】
点击高级,展开隐藏的选项,勾选“使用自定义的工作空间”,如下
目录:Jenkin构建时,会根据Git等源码库配置,把代码拷贝到该目录下,这里$DDT_SALE_BUILD_WS为变量,其值取自“全局属性”中对应“键”的对应的“值”,如下
显示名称:工作空间名称,如果为空,则默认使用项目名称
【全局属性】
【系统管理-全局配置】,找到“全局属性”,勾选“Environment variables”,点击“增加”,添加
【源码管理】
选择Git
说明:
Repostory URL:指定远程Git源码库的URL。
Credentials:登录凭据,这使用帐号/密码,点击Add按钮,如下使用git帐号/密码的方式登录
Branch Specifier (blank for 'any'):指定源码库中的分支,具体配置参考官方说明
说明:不知道是否这样就可以了,还是说还需要进行其它配置(环境不是我搭的,我操作时就配置了这个就可以了)。
【构建环境】
SSH服务器配置
配置之前,先对SSH服务器进行配置,进入【系统管理-全局配置】-> Publish over SSH -> SSH Servers -> 增加,新增界面中正确填写配置信息,填写好后可通过点击下方的 Test Configuration按钮测试配置是否正确。
说明:
Name:服务器名称
Hostname:主机地址
Username:用于SSH服务器登录用户名
Passphrase/Password:用于SSH服务器登录密码
Remote Directory:远程目录,可以理解为Username SSH登录后的根目录
构建环境
这里根据实际需求进行配置,构建之前、构建之后通过SSH发送文件、执行命令。
以勾选“Send files or execute commands over SSH after the build runs”为例
说明:
Name: 通过下拉方式选取的SSH服务器
Source files:源文件,位于Jenkins所在服务器,*.war代表以.war结尾的文件,,注意这里填写的为相对路径,实际路径为 “工作目录”/Source files(例中,实际路径为:/work/JenkinsWorkspace/DDT_SALE_BUILDWS/ddt-main/target/*.war
)
Remove prefix:Source files输入框中需要移除的前缀部分,通常为文件所在目录的路径,个人理解,用于告诉Jenkins需要传输的具体文件
Remote directory: 需要把文件传送到SSH远程服务器上的目标目录。注意,这填写的基于“SSH服务器配置”中设置的Remote Directory的相对路径。
实际远程目录为: SSH服务器配置的Remote Directory/这里配置的Remote directory
(例中,实际路径为:/app/war/DDT_CORE_JETTY_CNSZ22_WEB_MK_01/webapps)
Exec command:需要执行的命令。
例中,构建后,会把Jenkins本地/work/JenkinsWorkspace/DDT_SALE_BUILDWS/ddt-main/target/xxx.war文件通过SSH传送到远程服务器(10.202.95.85)的/app/war/DDT_CORE_JETTY_CNSZ22_WEB_MK_01/webapps目录下。
【构建】
有时候,一些代码工程的构建,会依赖另一些jar包,我们可在构建*.war包之前,通过maven来构建这些被依赖的jar包,如下
注:构建*.war包也是如此,依葫芦画瓢
例:
代码工程ddt-industry-ws的构建,依赖 industry-client-0.0.1-SNAPSHOT.jar,为此需要把ddt-industry-client工程打包为industry-client-0.0.1-SNAPSHOT.jar(为何是ddt-industry-client这个工程,这个是开发指定的,没为何)
那我们可以在jenkins已经拷贝源码后到本地后(依赖【源码管理】处的配置),配置【构建】
“增加构建步骤” -> “Invoke top-level Maven targets”
这样,待jenkins构建完成,会在工程/target目录下生成对应的jar包(例中,会在ddt-industry-ws/ddt-industry-client/target目录下生成industry-client-0.0.1-SNAPSHOT.jar)
Jenkins Jenkins结合GIT Maven持续集成环境配置的更多相关文章
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
前言 上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...
- Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...
- Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境
使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 2015-01-14 20:28 by 飘扬的红领巾, 4322 阅读, 5 评论, 收藏, 编辑 ...
- Linux下Jenkins+git+gradle持续集成环境搭建
Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集 发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文 一.项目介绍 和 linux ...
- 使用Jenkins+Calabash+Cocoapods搭建iOS持续集成环境
使用jenkins+calabash+cocoapods搭建ios持续集成环境 持续集成 持续集成到底是什么呢?依据敏捷大师Martin Fowler的定义: 持续集成是一种软件开发实践. 在持续集成 ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...
- jenkins + Git 搭建持续集成环境
持续集成通过自动化构建.自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态.jenkins是目前 ...
- Jenkins+ANT+SVN快速搭建持续集成环境
伟大的语言都从helloworld开始,这里我们用Jenkins+ANT+SVN来搭建这一套持续集成环境. 环境准备: 一台已经配置好Jenkins和Ant的机器. 项目准备: 用Ecplise建立一 ...
随机推荐
- vue脚手架中使用axios
虽然之前用过n次,但大多都是直接在页面中引入axios.js的.今天想换种方式使用,一时间竟不知道怎么配置了.特此记录下. 1.npm 安装axios,文件根目录下安装,指令如下: npm inst ...
- 金九银十,史上最强 Java 面试题整理。
以下会重新整理所有 Java 系列面试题答案.及各大互联网公司的面试经验,会从以下几个方面汇总,本文会长期更新. Java 面试篇 史上最全 Java 面试题,带全部答案 史上最全 69 道 Spri ...
- 8.python面向对象编程
基本概念 Class 类一个类即是对一类拥有相同属性的对象的抽象.蓝图.原型.在类中定义了这些对象的都具备的属性(variables(data)).共同的方法 Object 对象 一个对象即是一个类的 ...
- Django--缓存设置
Django缓存机制 一. 缓存介绍 缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中 ...
- restTemplate.postForObject上传文件中文乱码(???.xls)
一.问题描述 项目中, 使用restTemplate上传文件时, 文件名中文乱码, 一串问号, 源文件名为: 测试中文乱码哦哦哦.zip, 通过restTemplate.postForObject调用 ...
- 一文带你看懂cookie,面试前端不用愁
本文由云+社区发表 在前端面试中,有一个必问的问题:请你谈谈cookie和localStorage有什么区别啊? localStorage是H5中的一种浏览器本地存储方式,而实际上,cookie本身并 ...
- eclipse team 没有svn
从资源库把项目导出来之后 右键点击项目 选择第二个 出现 选择SVN 出现你资源库的地址 finish 完成. 这时项目就会出现地址了 就有提交了
- HBuilder的安装及用法
一,简介HBuilder 1.1,什么是Hbuilder? HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE.HBuilder的编写用到了Java.C.Web和Ru ...
- SpringMVC学习(一)———— springmvc框架原理分析和简单入门程序
一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交 ...
- npm设置和查看仓库源
转载请注明出处:https://www.cnblogs.com/wenjunwei/p/10078460.html 在使用npm命令时,如果直接从国外的仓库下载依赖,下载速度很慢,甚至会下载不下来,我 ...