Jenkins系列二通过Deploy war/ear to a container方式部署maven项目,maven聚合项目到Tomcat
Jenkins系列二通过Deploy war/ear to a container方式部署maven项目,maven聚合项目到Tomcat
- 环境
- Tomcat
- 下载
- 安装
- Jenkins
- 安装额外插件
- 配置环境
- 配置Item
- 构建项目
- 总结
Jenkins系列一Linux环境安装Jenkins
Jenkins系列二通过Deploy方式部署maven项目,maven聚合项目到Tomcat
Jenkins系列三通过脚本方式部署maven项目,maven聚合项目到Tomcat
Jenkins系列四通过脚本方式部署maven项目,maven聚合项目,前端VUE的springboot项目
环境
- Linux版本:CentOS7.2
- JDK版本:1.8
- Maven版本:3.6.0
- Tomcat版本:8.5.51
- Jenkins版本:2.270
- 假定WEB服务是demo,安装目录:/opt
Tomcat
下载
https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.51/bin/
安装
- 将apache-tomcat-8.5.51.tar.gz上传到服务器
/opt
目录 - 解压文件,/opt目录下执行:
tar -zxvf apache-tomcat-8.5.51.tar.gz
- Tomcat重命名,/opt目录下执行:
mv apache-tomcat-8.5.51 demo
- 修改端口,防止端口冲突,/opt/demo/conf目录下执行:
vim server.xml
,根据实际情况修改如下端口
- 配置用户名密码角色,/opt/demo/conf目录执行:
vim tomcat-users.xml
配置用户密码角色(自行修改用户名密码)
<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="123" roles="tomcat,manager-gui,manager-script,manager-jmx,manager-status"/>
6. 修改tomcat访问限制,/opt/demo/webapps/manager/META-INF目录下执行:vim context.xml
注释Value标签
7. 启动tomcat,/opt/demo/bin目录下执行:./startup.sh
8. 访问http://ip:port/manager/text/list
,输入用户名密码
Jenkins
安装额外插件
登陆到Jenkins后,菜单依次【Manager Jenkins】【Manager Plugins】【可选插件】输入下面的插件下载并安装,重启。(根据自己所需功能选择插件)
- Subversion(SVN)
- Maven Integration(maven)
- Deploy to container(部署打包)
配置环境
登陆到Jenkins后,菜单依次【Manager Jenkins】【Global tool Configuration】配置如下环境
- 【Maven配置】的【默认 settings 提供】【默认全局 settings 提供】,配置maven的setting.xml文件
- 【JDK】的【别名】【JAVA_HOME】
- 【Maven】的【Name】【MAVEN_HOME】
配置Item
新建Item
输入任务名称,选择【构建一个maven项目】,确定
【General】根据需要填写
【源码管理】根据实际选择Git、Subversion。添加凭证并选择。如果是聚合项目,这里选择父项目地址
【构建触发器】【构建环境】
【Pre Steps】
【Build】清除缓存,重新打包,并忽略测试类
clean package -Dmaven.test.skip=true
【Post Steps】【构建设置】
【构建后操作】
- 【WAR/EAR files】如果是聚合项目,当前目录是父项目的目录,应根据实际情况填写,确保部署的war包目录是对的,eg:
demo-web/target/demo-web.war
- 【Context path】:上面的war包部署的路径。以webapps项目为根目录
- 【Credentials】:# TOMCAT ## 安装 第5步中配置user/password
- 【WAR/EAR files】如果是聚合项目,当前目录是父项目的目录,应根据实际情况填写,确保部署的war包目录是对的,eg:
构建项目
选择列表最后的菜单构建项目,构建状态在左下角,可以点击【控制台输出】查看日志
总结
- 构建项目时候要确保应用系统的Tomcat是启动的;jenkins通过容器部署的原理是使用Tomcat的【Manager】功能,所以配置Tomcat时候并没有配置tomcat的路径(我刚开始时候还纳闷为什么不配置Tomcat路径)
- 因为上面的原因,当应用系统的Tomcat未启动时,是构建不成功的,所以应该【Pre Steps】或者【Post Steps】中写一个脚本,如果应用系统的Tomcat未启动时启动应用系统的Tomcat。
- 因这种方式比较繁琐,所以并不推荐,推荐使用Jenkins系列三通过脚本方式部署maven项目,maven聚合项目到Tomcat
Jenkins系列二通过Deploy war/ear to a container方式部署maven项目,maven聚合项目到Tomcat相关推荐
- Jenkins构建项目时构建成功但不部署到tomcat的webapps下(Build step ‘Deploy war/ear to a container‘ marked build as fai)
出现这个问题看看tomcat的配置哦 修改tomcat /conf/ tomcat-users.xml <tomcat-users> <role rolename="tom ...
- yolov8系列(二)-训练自己的目标分割模型,并web部署
yolov8系列[二]-训练自己的目标分割模型,并web部署 0. 系统效果展示 1. yolov8训练高压电线覆冰模型 1.1. 制作高压电线覆冰数据 1.2. 数据转换成yolo格式数据 1.3. ...
- .Net Core2.1 秒杀项目一步步实现CI/CD(Centos7)系列二:k8s高可用集群搭建总结以及部署API到k8s...
前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署的,这个集群差不多搞了一周时间,关于k8s的知识点,我也是刚入门,这方面的知识建议参考博客园 ...
- Jenkins学习二:Jenkins安装与配置
安装前关注: Q:应该选择哪个版本的Jenkins? A:如果你是公司正式使用推荐长期支持版(LTS),原因:稳定.如果你是学习,随便哪个版本都可以. Q:JDK应该安装哪个版本的? A:推荐安装JD ...
- ldap配置系列二:jenkins集成ldap
ldap配置系列二:jenkins集成ldap jenkins简介 jenkins是一个独立的.开放源码的自动化服务器,它可以用于自动化与构建.测试.交付或部署软件相关的各种任务. jenkins官方 ...
- 微服务架构系列二:密码强度评测的实现与实验
本文是继<微服务架构系列一:关键技术与原理研究>的后续,系列一中论述了微服务研究的背景和意义,主要调研了传统架构的发展以及存在的问题和微服务架构的由来,然后针对微服务架构的设计原则.容器技 ...
- Tomcat源码解析系列二:Tomcat总体架构
Tomcat即是一个HTTP服务器,也是一个servlet容器,主要目的就是包装servlet,并对请求响应相应的servlet,纯servlet的web应用似乎很好理解Tomcat是如何装载serv ...
- SonarQube系列二、分析dotnet core/C#代码
来源:https://www.cnblogs.com/7tiny/p/11342902.html [前言] 本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcor ...
- [原]Jenkins(十二)---jenkins管理员用户无法登陆解决办法Access Denied
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horiz ...
- Jenkins系列之——第四章 Jenkins编译一个Web项目并远程发布到Tomcat
上一章讲了如何编译我们第一个项目 但是有时候我们不仅仅只是编译更多的是需要发布 在微服务普及之前我们最常用的就无非就是通过tomcat运行war格式的项目了,本章将介绍如何配置一个传统的Java we ...
最新文章
- 【转】MySQL的语句执行顺序
- 解决React Native报错:Error:Found unexpected optical bounds (red pixel)
- 浅析C++的三大循环-以100以内的质数求解为例
- dateutil 日期计算_日期时间 - 日期时间工具-DateUtil - 《Hutool 参考文档》 - 书栈网 · BookStack...
- 吴恩达点赞的deeplearning.ai课程总结
- ASP/COM+组件开发辅助软件之补充
- 经验原石_经验分享:挑战翡翠原石,新手实战前应做哪些准备
- hihoCoder太阁最新面经算法竞赛17
- arduino mega针脚_Arduino MEGA中文数据手册
- Ribbon 界面介绍(1)
- excel图片根据表格内容动态变化
- 企业邮箱服务器如何设置?
- 元数据编码和传输标准(METS)
- Blend for Visual Studio 概述
- 信息安全密码学实验三:密码学数学基础实验
- 1020 月饼 (25 分)
- 忍看朋辈离职去,怒向HR要加薪
- python爬虫数据分析项目 双十一_Python爬取淘宝商品数据,价值千元的爬虫外包项目!...
- Android pdf转换bitmap保存到本地
- 利用JS调用手机摄像头小功能源码