jenkins pipeline 远程部署war包到tomcat8.5

2023-10-24 12:48

本文主要是介绍jenkins pipeline 远程部署war包到tomcat8.5,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.搭建一个支持远程部署的tomcat

通过docker启动一个tomcat8.5并配置远程部署

2.新建一个java web项目

3.改造一下项目目录结构

在WEB-INF下添加两个文件夹:classes和lib。然后每个文件夹下新建一个.gitkeep的文件(防止在用git push时忽略这个文件夹)。

4.新建build.xml内容如下:

<project name="testAnt" default="redeploy" basedir="."><!-- Configure the directory into which the web application is built --><property name="build" value="${basedir}/web/WEB-INF/classes" /><property name="dist.dir" value="${basedir}/dist" /><!-- Configure the context path for this application --><property name="path" value="./" /><!-- Configure properties to access the Manager application --><property name="url" value="http://0.0.0.0:8888/manager/text" /><property name="username" value="username" /><property name="password" value="password" /><taskdef name="deploy"    classname="org.apache.catalina.ant.DeployTask"></taskdef><taskdef name="undeploy"  classname="org.apache.catalina.ant.UndeployTask"/><!-- Configure the custom Ant tasks for the Manager application --><target name="deploy" description="Install web application" depends="compile"><deploy url="${url}" username="${username}" password="${password}" path="/test" war="${dist.dir}/testAnt.war"/></target><target name="undeploy" description="Remove web application"><undeploy url="${url}" username="${username}" password="${password}" path="/test"/></target><!-- Executable Targets --><target name="compile" description="WebSip manage"><mkdir dir="${dist.dir}"/><war destfile="${dist.dir}/testAnt.war" webxml="web/WEB-INF/web.xml"><classes dir="web/WEB-INF/classes" /><fileset dir="web" excludes="WEB-INF/**" /><lib dir="web/WEB-INF/lib" /></war></target><target name="redeploy" description="Remove and Install web application" ><antcall target="undeploy"/><antcall target="deploy"/></target>
</project>

5.添加依赖包

从tomcat中复制catalina-ant.jar到ant的lib中 获取catalina-ant.jar可以通过如下方式获取
docker run --rm -v /root/tomcatconf/:/home/  tomcat cp /usr/local/tomcat/lib/catalina-ant.jar /home/
在/root/tomcatconf中会多出这个文件。

6.在项目路径下执行ant命令

查看是否能够部署成功

7.把该工程上传到gitlib/hub

git init
git remote add 
git add *
git commit -m "init"
git push

8.自定义ant镜像。

新建一个文件夹。将 第5步中获取的catalina-ant.jar放到该文件夹中。然后在这个文件夹中新建一个名为dockerfile的文件 vim dockerfile ,dockerfile内容如下:
FROM frekele/ant:latest
COPY catalina-ant.jar /opt/ant/lib/catalina-ant.jar
然后在这个文件夹中执行 docker build ./ -t docker_image_name 将这个docker image推送到远程docker仓库 docker push docker_image_name 也可以获取我已经做好的 docker pull s7799653/ant_to_tomcat

9.jenkins pipeline

podTemplate(cloud: 'default',namespace: 'dzzw',label: 'ant', containers: [containerTemplate(name: 'ant', image: 'docker-local.repo.***.com/ant/ant_to_tomcat:a1.10_t8.5', ttyEnabled: true, command: 'cat', args: ''),containerTemplate(name: 'jnlp', image: "docker-local.repo.***.com/jenkins/jnlpwithssh:0.2", ttyEnabled: true, command: '', args: '${computer.jnlpmac} ${computer.name}')],volumes: [hostPathVolume ( hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock')],imagePullSecrets: ['artifactory']
)node('ant') {sh 'git clone git.***.com:songjxin/ant_deploy_to_tomcat.git';stage(' 获取代码并发布') {container('ant') {sh 'echo "nameserver 10.100.1.58">> /etc/resolv.conf';sh 'cd ant_deploy_to_tomcat && ls && ant'}}
}

我在jnlp镜像加了私钥。可以通过ssh的方式clone代码。如果没有可以通过http://username:password@git****的方式获取

这篇关于jenkins pipeline 远程部署war包到tomcat8.5的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275257

相关文章

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f