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主动工作,未完待续