Jenkins的Deploy war/ear to a container插件发布项目到tomcat容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Jenkins的Deploy war/ear to a container插件发布项目到tomcat容器

插件安装

在jenkins“系统管理”的“管理插件”中安装“Deploy to container Plugin

修改Tomcat管理用户配置

Deploy to container Plugin需要通过属于manager-script组的Tomcat管理用户将war包发布到Tomcat服务器上,默认没有这样的用户,需要在TOMCAT_HOME/conf/tomcat-users.xml添加manager-script组和相应的用户,增加如下两行:

<role rolename="manager-script"/>

<user username="deploy-tomcat" password="123456" roles="manager-script"/>

注:配置好后需要重启Tomcat才能生效

Jenkins中配置Job

在“构建后操作”中增加“Deploy war/ear to container”,配置如下图:

deploy_container.png (1394×600).png

参数说明

WAR/EAR files

相对于工作空间的相对路径,如:**/*.war,source/target/*.war或source/target/yiqifa-adcenter-web.war,建议以“**/*.war”形式填写。

Context path

应用在Tomcat中的部署路径,如上图,部署后可以通过http://localhost:8080/test来访问部署的应用

Credentials

在“修改Tomcat管理用户配置”中配置好的用户名和密码;添加到jenkins凭据里

Tomcat URL

运程Tomcat的访问路径,如上图中的http://localhost:8080,插件通过这个地址将应用的war/ear包上传到Tomcat的webapps目录下

Add Container

在这里可以继续增加其他的容器,这样就可以实现将应用同时部署到不同的容器中。

注意事项

  1. 运行Job进行部署前要先启动运程机上的WEB容器,插件需要通过容器提供的接口将war包发布到容器下
  2. 如果遇到“Deployed application at context path /xxx but context failed to start”这样的异常请到远程机的WEB容器下查看日志
  3. 如果遇到“Connection refused”的异常请检查远程机的容器是否启动、端口是否设置正常,不同的容器配置方式不一样,请参考相应容器的配置文档
  4. 目标服务器的manager/html页面访问不到,是做了ip限制,需要修改在manager项目里面的meta-inf里面context.xml将127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1改为^.*$则是所有ip都可以访问,当然对于这里来说只需要jenkins所在服务器能访问就行了.
相关文章
|
7月前
|
应用服务中间件 容器
从零手写实现 tomcat-07-war 如何解析处理三方的 war 包?
这是一个关于构建Web应用和理解类加载器的文章摘要。作者探讨了如何解析和处理WAR包,使用Netty权威指南系列(BIO, NIO, AIO)作为背景阅读。文章通过一个简单的Web项目实例,展示了项目的目录结构,包括`pom.xml`, `web.xml`和`IndexServlet`。作者还介绍了自定义的`WebAppClassLoader`,它扩展了`URLClassLoader`,用于根据类路径加载非当前项目类。最后提到了一个名为mini-cat的开源项目,它是简易版Tomcat实现,可在GitHub上找到。
|
6月前
|
Ubuntu 前端开发 JavaScript
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
|
2月前
|
Java 应用服务中间件 Apache
浅谈Tomcat和其他WEB容器的区别
Tomcat是一款轻量级的免费开源Web应用服务器,常用于中小型系统及并发访问量适中的场景,尤其适合开发和调试JSP程序。它不仅能处理HTML页面,还充当Servlet和JSP容器。相比之下,物理服务器是指具备处理器、硬盘等硬件设施的服务器,如云服务器,其设计目标是在处理能力、稳定性和安全性等方面提供高标准服务。简言之,Tomcat专注于运行Java应用,而物理服务器则提供基础计算资源。
|
4月前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
5月前
|
Java 应用服务中间件 Shell
|
5月前
|
弹性计算 运维 应用服务中间件
容器的优势,在Docker中运行Tomcat
摘要:了解Docker与虚拟机的区别:虚拟机使用Hypervisor创建完整操作系统,而容器通过namespace和cgroup实现轻量级隔离,共享主机内核。Docker启动快、资源利用率高,适合快速部署和跨平台移植。但安全性相对较低。示例介绍了如何通过Docker搜索、拉取官方Tomcat镜像并运行容器,最后验证Tomcat服务的正常运行。
|
7月前
|
存储 应用服务中间件 Docker
Docker容器无法启动Cannot find /usr/local/tomcat/bin/setclasspath.sh
根据具体情况,你可以尝试以上方法中的一个或多个,以解决 "Cannot find /usr/local/tomcat/bin/setclasspath.sh" 的问题。确保你的Docker容器中包含了完整且正确配置的Tomcat,并且相关文件和目录的权限设置正确。
298 0
|
7月前
|
存储 Java 应用服务中间件
Springboot项目打war包部署到外置tomcat容器【详解版】
该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。
470 0
|
7月前
|
存储 安全 Java
从HTTP到Tomcat:揭秘Web应用的底层协议与高性能容器
从HTTP到Tomcat:揭秘Web应用的底层协议与高性能容器
|
2天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
116 77