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所在服务器能访问就行了.
相关文章
|
9月前
|
IDE jenkins Java
告别繁琐配置:Alibaba Cloud Toolkit插件打破Jenkins自动化部署的局限
告别繁琐配置:Alibaba Cloud Toolkit插件打破Jenkins自动化部署的局限
469 0
|
6月前
|
Kubernetes jenkins 持续交付
Jenkins 插件生态:提升自动化能力
【8月更文第31天】Jenkins 是一个开源的持续集成/持续交付(CI/CD)平台,广泛应用于软件开发的各个阶段。Jenkins 的一大特色就是其丰富的插件生态系统,这些插件极大地扩展了 Jenkins 的功能,使其能够适应各种各样的应用场景。本文将深入探讨 Jenkins 的插件生态系统,并指导如何选择和配置插件以满足特定需求。
347 1
|
6月前
|
Kubernetes Cloud Native 开发者
OpenKruise:Kubernetes的超级插件,一键解锁容器运行时操作的超能力!
【8月更文挑战第8天】在云原生领域,Kubernetes虽已成为容器编排的标准,但仍有限制,比如批量操作不便和高级调度功能缺失。OpenKruise是一款增强工具,提供CloneSet、Advanced StatefulSet等功能,既保持Kubernetes API特性又增加了扩展性,使Pod管理更灵活。可通过Helm安装OpenKruise,并使用CloneSet轻松实现批量部署。这类增强工具让开发者能更高效地突破原生Kubernetes的限制,预计未来将更加受到欢迎。
97 8
|
6月前
|
Java jenkins 持续交付
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
|
7月前
|
弹性计算 运维 应用服务中间件
容器的优势,在Docker中运行Tomcat
摘要:了解Docker与虚拟机的区别:虚拟机使用Hypervisor创建完整操作系统,而容器通过namespace和cgroup实现轻量级隔离,共享主机内核。Docker启动快、资源利用率高,适合快速部署和跨平台移植。但安全性相对较低。示例介绍了如何通过Docker搜索、拉取官方Tomcat镜像并运行容器,最后验证Tomcat服务的正常运行。
|
6月前
|
jenkins 持续交付 开发工具
Jenkins 手动安装插件
Jenkins 手动安装插件
145 0
|
8月前
|
XML jenkins Java
必知的技术知识:Jenkins插件开发
必知的技术知识:Jenkins插件开发
233 0
|
9月前
|
JSON Kubernetes Go
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
384 0
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
|
9月前
|
存储 应用服务中间件 Docker
Docker容器无法启动Cannot find /usr/local/tomcat/bin/setclasspath.sh
根据具体情况,你可以尝试以上方法中的一个或多个,以解决 "Cannot find /usr/local/tomcat/bin/setclasspath.sh" 的问题。确保你的Docker容器中包含了完整且正确配置的Tomcat,并且相关文件和目录的权限设置正确。
367 0
|
9月前
|
存储 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包名。
536 0