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

简介: 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所在服务器能访问就行了.
相关文章
|
Java 应用服务中间件 Apache
Maven程序 tomcat插件安装与web工程启动
Maven程序 tomcat插件安装与web工程启动
494 0
|
应用服务中间件 容器
从零手写实现 tomcat-07-war 如何解析处理三方的 war 包?
这是一个关于构建Web应用和理解类加载器的文章摘要。作者探讨了如何解析和处理WAR包,使用Netty权威指南系列(BIO, NIO, AIO)作为背景阅读。文章通过一个简单的Web项目实例,展示了项目的目录结构,包括`pom.xml`, `web.xml`和`IndexServlet`。作者还介绍了自定义的`WebAppClassLoader`,它扩展了`URLClassLoader`,用于根据类路径加载非当前项目类。最后提到了一个名为mini-cat的开源项目,它是简易版Tomcat实现,可在GitHub上找到。
|
11月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
548 0
|
Ubuntu 前端开发 JavaScript
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
|
弹性计算 运维 应用服务中间件
容器的优势,在Docker中运行Tomcat
摘要:了解Docker与虚拟机的区别:虚拟机使用Hypervisor创建完整操作系统,而容器通过namespace和cgroup实现轻量级隔离,共享主机内核。Docker启动快、资源利用率高,适合快速部署和跨平台移植。但安全性相对较低。示例介绍了如何通过Docker搜索、拉取官方Tomcat镜像并运行容器,最后验证Tomcat服务的正常运行。
321 5
|
Java 应用服务中间件 Shell
|
存储 安全 Java
从HTTP到Tomcat:揭秘Web应用的底层协议与高性能容器
从HTTP到Tomcat:揭秘Web应用的底层协议与高性能容器
|
存储 应用服务中间件 Docker
Docker容器无法启动Cannot find /usr/local/tomcat/bin/setclasspath.sh
根据具体情况,你可以尝试以上方法中的一个或多个,以解决 "Cannot find /usr/local/tomcat/bin/setclasspath.sh" 的问题。确保你的Docker容器中包含了完整且正确配置的Tomcat,并且相关文件和目录的权限设置正确。
1005 0
|
存储 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包名。
1667 0