Jenkins远程部署war包到tomcat

2024-05-24 17:18

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

网上关于这个的文章也是数不胜数了,但是稍不注意还是会掉坑里了,好不容易配置成功在这里记录一下。
关于怎么搭建Jenkins自动构建之前已经写过,这里就再补充一下自动远程部署的情况。

准备

在开始之前,服务器上需要有安装好环境,如:JDK,Tomcat等
配置好环境变量同时,在Jenkins和Gitlab上创建好项目。

项目文件配置

来依次看一下关于项目的文件配置,包括Maven的配置等。

pom.xml配置

<packaging>war</packaging><properties><warPackageName>spring</warPackageName><tomcat.deploy.server>tomcat8</tomcat.deploy.server><tomcat.deploy.serverUrl>http://192.168.1.2:8088/manager/text</tomcat.deploy.serverUrl>
</properties><build><finalName>spring</finalName><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>tomcat-maven-plugin</artifactId><version>1.1</version><configuration><server>${tomcat.deploy.server}</server><url>${tomcat.deploy.serverUrl}</url><path>/${warPackageName}</path></configuration></plugin></plugins></build>

我这里tomcat版本使用的8,如果使用的是tomcat6.x的话,serverUrl需要改为http://192.168.1.2:8080/manager
在这里<tomcat.deploy.server>tomcat8</tomcat.deploy.server>,其中tomcat8是需要在Maven的.settings.xml文件中配置的。

Maven settings配置

~/.m2/.settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><servers><server><id>nexus-snapshots</id><username>admin</username><password>lhy123</password></server><server><id>tomcat8</id><username>deployer</username><password>dev</password></server></servers><mirrors><mirror><id>nexus</id><name>internal nexus repository</name><url>http://192.168.1.2:8081/repository/maven-central/</url><mirrorOf>*</mirrorOf></mirror></mirrors></settings>

在这里主要是看server中的tomcat8配置,需要tomcat的用户名和密码。至于其他的是关于nexus的配置,以后有机会再写一篇详细说明Nexus的吧。
tomcat的用户名和密码就需要我们到服务器上去配置了。

服务器配置

服务器上主要是tomcat用户配置Maven settings配置
是的,本地配置那个是方便在本地就可以直接部署到服务器,但是如果是用Jenkins来帮我们自动的部署的话就需要在服务器上也配置一下Maven Settings了,否则在构建好后是无法进行远程部署的,因为不知道tomcat的用户名和密码。
在这里我们直接复制本地的.settings.xml文件到服务器就好,也有个地方需要注意了。
.settings.xml这个文件不是随便放的,需要放到启动jenkins的用户的那个home目录下面的.m2/目录中。
因为我是直接从Jenkins官网下载了war包,然后丢到tomcat中运行的。
所以这里我需要将.settings.xml文件放到/usr/share/tomcat8/.m2/中。
需要注意的是文件权限问题,我是为了偷懒直接用系统# apt-get install tomcat8安装的,系统会自动创建tomcat8用户。
所以还需要额外执行一条命令:# chown tomcat8:tomcat8 .settings.xml即可。
如果是自己从apache tomcat官网下载的压缩包的话,就看你启动tomcat服务用的哪个系统用户了,就把.settings.xml文件丢到那个用户的$HOME/.m2/下即可。

tomcat配置

先在tomcat用户配置文件中添加一个用户,并给予manager-script权限就行。
在我这里是编辑/etc/tomcat8/tomcat-users.xml文件

<tomcat-users><role rolename="admin-gui"/><role rolename="manager-gui"/><user username="tomcat" password="tomcat" roles="admin-gui,manager-gui"/><user username="deployer" password="dev" roles="manager-script"/></tomcat-users>

主要看deployer这个用户就行了。

Jenkins构建配置

好了,最后再说一下,在Jenkins中执行的构建命令
maven-build)
这里需要注意,执行的是mvn tomcat:redeploy
网上很多教程说的是mvn tomcat7:redeploy,我这边死活不行,总是报错。
No plugin found for prefix 'tomcat7' in the current project.
暂时不知道是什么原因,先不管了。

总结

做开发的就是一路趟坑啊,尤其是web方面。感觉就这么一点小小的东西都折腾了好一番,真是路漫漫兮其修远矣。但是为了前途咱还是得一路顶上去呢,吾必将上下而求索~

致还在年轻奋斗的我们。。

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



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

相关文章

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满