jenkins+maven+svn 自动化部署
背景:
公司的web平台使用JAVA写的,但是不是用Tomcat部署的,代码内部自带了Web服务器,所以只需要有JAVA环境,将代码打包上传,启动脚本就可以。
项目是根据pom.xml打包成的是.zip的压缩包,之前打包时在windows Server上用IDEA来打包,现在转到Jenkins上,实现自动打包部署;起初打包,怎么都没法打成zip包,后来才发现pom.xml中的参数,需要在打包命令中选择好
一、jenkins 安装
1.1 必要环境JAVA环境,安装JDK
1.1.1下载JDK
下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载版本:jdk-8u171-linux-x64.rpm
1.1.2安装JDK
rpm -ih jdk-8u171-linux-x64.rpm
1.1.3配置JAVA的家目录
]# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
]# source /etc/profile.d/java.sh
]# echo $PATH

2.1 安装jenkins
有两种方法,一种直接用jenkins.war启动,一种用tomcat部署启动jenkins
2.2 直接启动Jenkins.war
2.2.1启动命令
java -jar /PAHT/TO/Jenkins.war
2.2.2访问地址
http://Jenkins_Server_IP:8080

2.3 使用tomcat部署启动jenkins
2.3.1 下载安装tomcat
JDK安装的是8的版本,Tomcat最好也是用8的版本
下载链接: http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.0.52/bin/apache-tomcat-8.0.52.tar.gz
]# tar xf apache-tomcat-8.0..tar.gz -C /usr/local/
]# ln -sv /usr/local/apache-tomcat-8.0. /usr/local/tomcat ]# vim /etc/profile.d/tomcat.sh
export CATALINA_BASE=/usr/local/tomcat
export PATH=$CATALINA_BASE/bin:$PATH ]# source /etc/profile.d/tomcat.sh
2.3.2 启动tomcat
]# catalina.sh start #启动
#使用/usr/local/tomcat/bin 内的脚本也可以启动停止
2.3.3 部署jenkins
将jenkins.war 放置到 /usr/local/tomcat/webapps 目录中,tomcat将自动解压部署
访问 http://Jenkins_server_ip:8080/jenkins/ 即可
3.1 使用Jenkins
]# cat /root/.jenkins/secrets/initialAdminPassword
将密码复制,粘贴到表单内即可
3.2 自定义Jenkins
选择 安装推荐的插件,如果没有网络,也可以自定义不安装插件,将下载好的jenkins插件导入到jenkins服务器里即可
然后创建用户,密码,邮箱
登录即可;

二、jenkins的使用
1.1 系统管理配置
1.1.1增加插件
系统管理--->插件管理---->可选插件
安装 Maven Integration plugin 插件,可选插件中的名字为 Maven Integration
安装 Publish Over SSH 插件
1.1.2 Publish Over SSH的使用,在系统管理--->系统设置里
Key:添加秘钥对的私钥
点击增加
Name 服务器名字
Hostname IP地址
Username 登录用户名
Remote Directory 登录根目录
填好后,Test Configuration测试连接,成功即可

2.1新建一个任务
-->填写任务名
-->选择构建一个Maven项目
-->确定

2.2 General项
项目名称: 根据实际填写
项目描述:留空或根据实际填写
GitLab Connection: 留空
丢弃旧的构建:保持构建的最大个数:通常填5
其余项都可以留空
2.3 源码管理
SVN选择 subversion
2.3.1 Repository URL: 填写SVN的项目的地址
2.3.2 Credentials 选择SVN登录账号密码,没有可以选择添加按钮,添加
填写用户名和密码即可
确定添加
其他的没有需求可以不改动;

SVN设置

2.3.3 构建触发器
可以选择定时构建,定时检查代码有没有更新,如果更新了就构建;
选择触发远程构建
身份验证令牌 :即填写一点 口令
访问 http://Jenkins_server_ip:8080/jenkins/job/Repo_Name/build?token=口令
即可触发构建
2.3.4 构建环境 与 pre Steps
根据项目构建需求选择
2.3.5 Build
根据pom.xml项目配置文件构建
Goals and options 构建时的选项,也根据项目需求 clean install 或者clean package
一些pom.xml会引用其他XML文件来讲打包好的文件,做成ZIP的压缩包,可以根据pom.xml中的属性选项,增加 “-P 参数” 完成打包
如果有项目内存空间优化的需求,可以使用高级按钮

2.3.6 构建后操作
可以根据项目的需求,来项目后部署
SSH部署方案
增加构建后操作步骤---> send build artifacts over SSH
SSH Server
Name 是在 系统管理--->系统设置 里设置的;
Transfers
source files 要部署的源文件的相对路径
Romve Prefix 要去掉的父目录路径
Remote directory 部署到的目录
Exec command 执行的命令,部署操作可以直接在这里执行

jenkins+maven+svn 自动化部署的更多相关文章
- Jenkins+maven+gitlab自动化部署之基础环境部署(一)
从一个二线城市,来到上海,刚入职,老大就给任务,为了减少开发打包部署时间,需要搭建一套自动化部署环境.接到任务后,赶紧上网查找资料,以及了解jenkins作用等等,用了一周时间,了解了个大概,由于都是 ...
- Jenkins+maven+gitlab自动化部署之docker发布sprint boot项目(七)
Jenkins发布docker应用与发布java应用配置基本一致,需要配置Dockerfile及构建的步骤,步骤如下: 1.jenkins主机构建应用为jar包 2.jenkins主机把生产的jar包 ...
- Jenkins+maven+SVN+Tomcat部署过程
一.下载地址 应首先确认安装了JDK: Jenkins下载地址:http://mirrors.shu.edu.cn/jenkins/windows-stable/jenkins-2.107.3.zip ...
- Jenkins+maven+gitlab自动化部署之前端构建发布(六)
前端项目构建,需要在jenkins主机部署node服务,网上有说介绍说安装对应的nodejs插件进行前端项目构建,我这里是直接调用系统npm命令,进行前端打包.具体node部署参考:Centos7部署 ...
- Jenkins+maven+gitlab自动化部署之构建Java应用(五)
前面几篇文章介绍jenkins部署以及配置,接下来我们,就介绍下如何使用jenkins发布应用. 1)新建项目 jenkins首页,点击左上新建任务,出现下图,填写对应信息,然后点击确定: 2)项目参 ...
- Jenkins+maven+gitlab自动化部署之Jenkins系统管理配置(四)
一.Jenkins全局工具配置 在jenkins首页依次进入系统管理>>全局工具配置: 1) jdk.git.maven配置 指定其在服务器中的目录位置 二.插件管理 1)依次点开系统管理 ...
- Jenkins+maven+gitlab自动化部署之Jenkins部署(三)
本章开始正式搭建Jenkins: 公司现在使用的jenkins版本是2.150.3,但是本次实验安装的版本我们选择最新的 2.164.3(当然,当你阅读这篇文章时,此版本已经不是最新),jenkins ...
- Jenkins + maven + svn 自动部署项目
1.安装Jenkins sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins. ...
- Jenkins+maven+gitlab自动化部署之gitLab搭建(二)
Gitlab我们这里采用docker方式部署,详细请参考:Docker部署Gitlab11.10.4
随机推荐
- [HNOI2010] 弾飞绵羊
题目链接: 传送门 题目分析: 题外话: 我即使是死了,钉在棺材里了,也要在墓里,用这腐朽的声带喊出: 根号算法牛逼!!! 显然,这是一道LCT裸题,然而在下并不会LCT于是采用了分块瞎搞 对于每个点 ...
- Uva10755
在题中的A*B*C的矩形中,当确定X1,X2,Y1,Y2时,1->z的子矩形的和为 sum[x2][y2][1] -(sum[x1-1][y2][1] + sum[x2][y1-1][1] -s ...
- Qconf安装文档
1.操作系统配置(以root用户执行) 1)安装编译工具 cmake(已经安装过可以跳过) yum install -y cmake 2.安装Qconf 1)下载安装源码 wget http://10 ...
- 关于FutureTask的探索
之前关于Java线程的时候,都是通过实现Runnable接口或者是实现Callable接口,前者交给Thread去run,后者submit到一个ExecutorService去执行. 然后知道了还有个 ...
- 2017 ACM Arabella Collegiate Programming Contest div2的题,部分题目写个题解
F. Monkeying Around 维护点在多少个线段上 http://codeforces.com/gym/101350/problem/F 题意:有m个笑话,每个笑话的区间是[L, R], ...
- spark RPC详解
前段时间看spark,看着迷迷糊糊的.最近终于有点头绪,先梳理了一下spark rpc相关的东西,先记录下来. 1,概述 个人认为,如果把分布式系统(HDFS, HBASE,SPARK等)比作一个人, ...
- nginx配置SSL证书实现https服务
在前面一篇文章中,使用openssl生成了免费证书 后,我们现在使用该证书来实现我们本地node服务的https服务需求.假如我现在node基本架构如下: |----项目 | |--- static ...
- JAVA基础之线程
个人理解: 在相同的进程也就是运行同样的程序的前提下,线程越多效率越快!当然硬件也是个障碍!为了提高效率,可以多创建线程,但是也不是越多越好,这就需要了线程池进行管理!需要知道的线程实现的方法:继承T ...
- 使用git和github管理项目代码
以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git 和Github来托管自己的代码和读书笔记方便了不少,到哪里只要有网就可以把自己的东西拷贝下 ...
- 模态框的理解 ,jQ: loading,进度条, 省级联动 表单验证 插件
模态框: 打开一个弹框 不关闭它就不能做框外的操作 必须关闭或弹出另外的弹框 加载延迟loading + 进度条只要有请求 就处理一下监控ajax 全局事件jquery: $('#box').ajax ...