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文件写入

#JDK
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'
#maven
export MAVEN_HOME=/usr/local/maven
export PATH=${MAVEN_HOME}/bin:$PATH
 
source /etc/profile.d/jenkins_tools.sh
开启jenkins服务,浏览器输入服务jenkins网址
在系统管理里面配置全局工具,,配置maven

再配置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包的更多相关文章

  1. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  2. Docker容器Tomcat部署war包

    在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run  -d --nam ...

  3. 记录centos7下tomcat部署war包过程

    记录centos7下tomcat部署war包过程 1.官网下载tomcat安装包.gz结尾的 2.上传到/usr/local/ ,并解压到tomcat目录下 3.进入tomcat/bin目录,运行./ ...

  4. springboot+vue前后端分离,nginx代理配置 tomcat 部署war包详细配置

    1.做一个小系统,使用了springboot+vue 基础框架参考这哥们的,直接拿过来用,链接https://github.com/smallsnail-wh/interest 前期的开发环境搭建就不 ...

  5. 通过Jenkins调用自动部署war包及jar包到服务器上的Shell脚本

    1)部署war包#!/bin/bashif [ id>0];then echo"stopproject" kill −9 idelse echo "project ...

  6. tomcat部署war包

    部署步骤 1.下载tomcat 直接在网上下载即可,随便把包下到一个地方 下面文中的xxx均代表tomcat的安装目录   2.将java工程导出war包 在intellij idea的执行左侧选中t ...

  7. tomcat部署war包启动后请求无响应,一直报404

    刚刚碰到一个坑,本地Eclipse启动了tomcat,调用接口就是404,一直怀疑是url问题,改来改去还是404.最后发现还真是url问题,问题不在接口路径,而是项目名.因为接口路径用的是RESTf ...

  8. Tomcat:tomcat部署war包配置SSL访问

    Linux-CentOS7部署 war放置 war放到tomcat的webapps目录内 修改配置 修改tomcat的server.xml文件 HTTP: 找到Connector元素,修改端口 HTT ...

  9. tomcat:利用tomcat部署war包格式的项目

    配置jdk环境变量, 配置TOMCAT_HOME 变量, 将war包放入webapps中. 运行tomcar-bin文件夹中的startup.bat. tomcat会自动解压war包. 进入项目:

随机推荐

  1. request.getInputStream() 的两种解析方式

    http://sagewsg.iteye.com/blog/1717923 byte[] bytes = new byte[1024 * 1024]; InputStream is; try { is ...

  2. [iOS]怎样在iOS开发中切换显示语言实现国际化

    1.在Project设置,加入中英两种语言: 2.新建Localizable.strings文件,作为多语言相应的词典,存储多种语言,点击右側Localization,勾选中英: watermark/ ...

  3. Myeclipse中解决spring配置文件无提示问题

    相信非常多人都遇到过在部署spring框架写spring的配置文件时无提示内容的问题,都是仅仅能提示一些标签 名,而无法提示属性值,bz我本人今天也遇到了这种问题.在网上找了非常久答案,非常多方法都不 ...

  4. spark之map与flatMap差别

    scala> val m = List(List("a","b"),List("c","d")) m: List[ ...

  5. 的Linq未提交之前插入/修改时重新查询不准确问题

    来园子已经两年了,每次都是看,这次咱也写一次. 说一下今天遇到的Linq问题: 每一次插入流水表时,都需要查找表中最大的流水号+1,并且将该流水号返回,但是在同一个SubmitChange之内插入多条 ...

  6. 讲一讲WiFi快连、SmartConfig、SmartConnect

    最近要给公司同事们培训WiFi快连技术,整理了相关资料,也分享在博客这,献给有缘人. 前言 现在的智能硬件产品,以WiFi品类居多,这些WiFi硬件没有人机交互界面,但设备要上网肯定要配置SSID等相 ...

  7. EOJ 3384 食物链

    动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形.A 吃 B,B 吃 C,C 吃 A. 现有 N 个动物,以 1-N 编号.每个动物都是 A,B,C 中的一种,但是我们并不知道它到 ...

  8. PCB Genesis增加轮廓字 实现原理

    在Genesis增加汉字自带是不支持增加汉字的,如果需增加汉字需用到CAD 汉字库才可增加汉字,这里介绍一种脱离汉字库实现 Genesis增加轮廓字(如要变为实体,填空Surface可变为实体字) 一 ...

  9. bzoj3297[USACO2011 Open]forgot(dp + string)

    3297: [USACO2011 Open]forgot Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 137  Solved: 94[Submit] ...

  10. Appium + python -小程序实例

    from appium import webdriverfrom appium.webdriver.common.touch_action import TouchActionfrom time im ...