jenkins+svn+tomcat部署war包
svn是版本控制器,是提供一个版本库让程序员把项目提交上去,每一次更新代码提交后都会记录
jenkins是持续部署的工具,是让项目自动部署发布出去的工具,当项目代码发生改变时就需要重新打包成war包,人为操作麻烦,所以需要jenkins工具
tomcat是应用服务器,是跑java的网页代码JSP,具体是JSP解析成JAVA源代码,再解析成java类,再由JVM执行
思路是:由eclipse写项目,推送到svn上去,由jenkins去svn拉取代码,再由maven把代码打包成war包,再部署到tomcat宫用户访问
首先安装svn服务器,查看https://www.cnblogs.com/-mrl/p/8980244.html 此处注意把能访问svn服务器的用户账号密码记下
再把eclipse项目推到svn上去,由于eclipse默认只支持git,所以需要先安装subversion插件,,查看https://blog.csdn.net/u012453843/article/details/64624383
安装插件后重启eclipse,由于是第一次推送项目到svn,所以需要建立svn服务器地址,,查看https://jingyan.baidu.com/article/ed15cb1baee2aa1be36981bc.html
搭建jenkins服务器,并配置号jre运行环境以及maven打包工具,在/etc/profile.d/jenkins_tools.sh文件写入
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export TIME_STYLE='+%Y/%m/%d %H:%M:%S'
export MAVEN_HOME=/usr/local/maven
export PATH=${MAVEN_HOME}/bin:$PATH
再配置jdk

再配置maven

然后在jenkins里面新建项目
建完后点开项目,选择配置,源码管理就是让jenkins去svn拉取项目代码,此处地址是svn服务器地址,账号密码是允许访问svn的账号密码

配置构建步骤,这个是让jenkins拉取代码后用maven打包代码成war包

然后选择打包后要把war部署到tomcat应用服务器上,此处需要tomcat服务器地址,以及tomcat账户密码
在conf/tomcat-users.xml里面添加以下代码,定义tomcat_user用户
由于第一次安装完tomcat是无权访问manager webapp页面,所以tomcat_user用户配置了也无法验证是否可用,所以保险起见还要配置访问manager webapp页面权限,查看https://www.cnblogs.com/wuhenyan/p/6419475.html
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat_user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

完后返回项目界面,选择立即构建

这时jenkins就会去拉取代码,并且打包,并且部署到tomcat应用服务器上去
打包期间可以通过查看控制台看下正在执行的操作过程,由于第一次打包,所以需要去maven仓库下载插件,速度缓慢

当看见输出,,Maven打包时报Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war解决方案
查看https://blog.csdn.net/qq_33548914/article/details/79458497 解决问题后再次打包就成功了,同时也把war部署到tomcat应用服务器上了,可以去tomcat上面的webapps下面看有没有对应的war包(默认目录),这时就可以通过tomcat的访问地址查看项目了
注意:以上的操作完成后,还是要手动构建项目,,需要实现的目标是当程序员写完代码提交到svn上去时,可以触发触发器,让jenkins主动去svn拉去代码,然后打包,然后发布
所以需要在以下页面中配置字段,即当访问这个页面的时候,jenkins就会自动工作,访问地址是jenkins访问页面首页后加上/job/maoye/build?token=mao_token

所以还有一项工作就是,当从eclipse提交代码到svn后要自动访问以上地址,来使jenkins主动工作,未完待续
jenkins+svn+tomcat部署war包的更多相关文章
- Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...
- Docker容器Tomcat部署war包
在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run -d --nam ...
- 记录centos7下tomcat部署war包过程
记录centos7下tomcat部署war包过程 1.官网下载tomcat安装包.gz结尾的 2.上传到/usr/local/ ,并解压到tomcat目录下 3.进入tomcat/bin目录,运行./ ...
- springboot+vue前后端分离,nginx代理配置 tomcat 部署war包详细配置
1.做一个小系统,使用了springboot+vue 基础框架参考这哥们的,直接拿过来用,链接https://github.com/smallsnail-wh/interest 前期的开发环境搭建就不 ...
- 通过Jenkins调用自动部署war包及jar包到服务器上的Shell脚本
1)部署war包#!/bin/bashif [ id>0];then echo"stopproject" kill −9 idelse echo "project ...
- tomcat部署war包
部署步骤 1.下载tomcat 直接在网上下载即可,随便把包下到一个地方 下面文中的xxx均代表tomcat的安装目录 2.将java工程导出war包 在intellij idea的执行左侧选中t ...
- tomcat部署war包启动后请求无响应,一直报404
刚刚碰到一个坑,本地Eclipse启动了tomcat,调用接口就是404,一直怀疑是url问题,改来改去还是404.最后发现还真是url问题,问题不在接口路径,而是项目名.因为接口路径用的是RESTf ...
- Tomcat:tomcat部署war包配置SSL访问
Linux-CentOS7部署 war放置 war放到tomcat的webapps目录内 修改配置 修改tomcat的server.xml文件 HTTP: 找到Connector元素,修改端口 HTT ...
- tomcat:利用tomcat部署war包格式的项目
配置jdk环境变量, 配置TOMCAT_HOME 变量, 将war包放入webapps中. 运行tomcar-bin文件夹中的startup.bat. tomcat会自动解压war包. 进入项目:
随机推荐
- Linux内核剖析 之 进程简单介绍
1.概念 1.1 什么是进程? 进程是程序运行的一个实例.能够看作充分描写叙述程序已经运行到何种程度的数据结构的汇集. 从内核观点看.进程的目的就是担当分配系统资源(CPU时间,内存 ...
- HDU 2206 IP的计算(字符串处理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2206 Problem Description 在网络课程上,我学到了非常多有关IP的知识. IP全称叫 ...
- 【原创】TCP超时重传机制探索
TCP超时重传机制探索 作者:tll (360电商技术) 1)通信模型 TCP(Transmission Control Protocol)是一种可靠传输协议.在传输过程中当发送方(sender)向接 ...
- [Python]通过websocket与jsclient通信
站点大多使用HTTP协议通信.而HTTP是无连接的协议.仅仅有client请求时,server端才干发出对应的应答.HTTP请求的包也比較大,假设仅仅是非常小的数据通信.开销过大.于是,我们能够使用w ...
- Ejb in action(四)——购物车实例演示有状态会话Bean
前面.我们介绍了一个入门实例.事实上那就是无状态回话Bean的经常使用情况. 上一篇文章中.我们介绍了无状态会话Bean和有状态会话Bean的相关概念.为了加深大家对它们的理解,我们一起来实现一个有状 ...
- C++对象内存布局 (一)
一.前言 在看了皓哥的C++对象的布局之后:http://blog.csdn.net/haoel/article/details/3081328.感觉自己还是总是不能记得很清楚,故在此总结一下C++对 ...
- android自定义dialog中点击listview的item事件关闭dialog
import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; ...
- hdu 2063 (二分匹配 匈牙利算法)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- NSURLSession 和 NSURLConnection 的比较
一.NSURLConnection 1.iOS2.0出现,iOS9.0后废弃的网络请求发送方式 2.可以在初始化时确定发送同步还是异步的请求,并且可以选择执行队列. +(void)sendAsynch ...
- 关于form/input 的autocomplete="off"属性
转自:http://blog.sina.com.cn/s/blog_b49f96a701019m0d.html 一. 有过表单设计经验的朋友肯定知道,当我们在浏览器中输入表单信息的时候,往往input ...