Jenkins+Maven+Gitlab+Tomcat自动化构建打包+部署

目录

环境准备

导入项目包

配置jenkins

构建项目 

配置项目上线

修改项目代码测试 


环境准备

本实操项目环境基于https://blog.csdn.net/Lzcsfg/article/details/140359830

首先在node01主机中操作,本次操作需要java8的版本,将之前安装的java17卸载

Java Downloads | Oracleicon-default.png?t=N7T8https://www.oracle.com/java/technologies/downloads/?er=221886#java8

#卸载之前17版本
[root@node01 ~]# yum remove -y java
#下载jdk8
[root@node01 ~]# wget -O jdk-8u411.rpm https://download.oracle.com/otn/java/jdk/8u411-b09/43d62d619be4e416215729597d70b8ac/jdk-8u411-linux-x64.rpm?AuthParam=1720715155_db3de5003585c6f38ce0b8e87c922e4b
[root@node01 ~]# yum install -y jdk-8u411.rpm[root@node01 ~]# java -version
java version "1.8.0_411"
Java(TM) SE Runtime Environment (build 1.8.0_411-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.411-b09, mixed mode)

Index of apache-local/tomcaticon-default.png?t=N7T8https://mirrors.huaweicloud.com/apache/tomcat/

#下载tomcat8
[root@node01 ~]# wget https://mirrors.huaweicloud.com/apache/tomcat/tomcat-8/v8.5.100/bin/apache-tomcat-8.5.100.tar.gz
[root@node01 ~]# tar -zxvf apache-tomcat-8.5.100.tar.gz
[root@node01 ~]# mv apache-tomcat-8.5.100 /usr/local/tomcat

修改tomcat配置

[root@node01 ~]# vim /usr/local/tomcat/webapps/docs/META-INF/context.xml

 

[root@node01 ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml

[root@node01 ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml

 

[root@node01 ~]# vim /usr/local/tomcat/conf/tomcat-users.xml<role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="admin-gui"/><role rolename="admin-script"/><user username="admin" password="123456" roles="tomcat,manager-gui,manager-script,admin-gui,admin-script"/>

记住这个用户名admin  密码123456  这里定义好了登录tomcat管理页面的账户  

启动tomcat验证 

[root@node01 ~]# /usr/local/tomcat/bin/startup.sh

 

导入项目包

来到gitlab服务主机的web页面,登录后导入项目

Git仓库URL 

https://gitee.com/hyunze/easy-springmvc-maven

点击导入后等待一会即可完成

将jenkins服务主机的公钥复制,到gitlab平台里

[root@jenkins .ssh]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCxUu9J87S1IP7fKfcjbQGJe4KNpMbVz8NfRXibyzLprGwkdPcLZL0nQGKfHiUKroO/yehztlyya/eziwpJposnzkTcY2qbUDQHNoFaY0h1sRhvtJGjdZcwvgi0QHdbv4dp/YxthMx8+UtXmXaDyBrG1ezjcON2pRSnWpUSVL9HatbC6lnhn2q5U2U790ggt2JqjeCGpRQBgusS6Xq5D+HXZfPFvCJK71N3OEBqyuf5jysLMLdRQtawck/nCeU8sTQbHVl85+oPZ5FjuX++GBqTdCdZFcWMx/8qTNaux2ctJmW9Arx2h3SgESwIEsxE3+DhyoE+88FyNdtE752Ms0JWypNGW+XVoFVyFFd8luHTQSHKmN2kMZs1Qq+8XWZHz1LgD5fOvsiGyw2ei/dI1HrhZzyVG+YpkZFxAf3GyIC8YWeu7tvcbE8z83jI9XQYUSAWg6UE4ifkVy+7QB/Su0RK2Re3hIj7tvgYxV0WOVe0/+ZB/up576xnyemeWx2LBIc= root@jenkins

 

 

配置jenkins

来到jenkins主机的web页面,确保下载了这两个插件,没有则下载

Maven Integration plugin

Deploy to container Plugin

来到jenkins主机下载部署jdk8的版本,因为本项目打包需要用到jdk8

[root@jenkins ~]# wget -O jdk-8u411.rpm https://download.oracle.com/otn/java/jdk/8u421-b09/d8aa705069af427f9b83e66b34f5e380/jdk-8u421-linux-x64.rpm?AuthParam=1721458472_cbb2875b7eee184c7878c44b44975d71
[root@jenkins ~]# yum install -y jdk-8u411.rpm

 安装目录在/usr/lib/jvm/jdk-1.8.0_421-oracle-x64

maven和git也已经预装过了在之前的环境里。

现在来到jenkins的web页面,修改java配置

构建项目 

在gitlab页面复制仓库的连接,粘贴进jenkins的配置里。

回到jenkins页面 

 

 

在jenkins主机工作空间中查看war包

[root@jenkins maven-project]# ll /root/.jenkins/workspace/maven-project
total 44
-rw-r----- 1 root root 35181 Jul 12 05:50 LICENSE
-rw-r----- 1 root root    99 Jul 12 05:50 README.md
-rw-r----- 1 root root  3062 Jul 12 06:27 pom.xml
drwxr-x--- 3 root root    18 Jul 12 05:50 src
drwxr-x--- 7 root root   148 Jul 12 06:38 target[root@jenkins maven-project]# ll target/
total 4680
drwxr-x--- 3 root root      20 Jul 12 06:32 classes
drwxr-x--- 4 root root      72 Jul 12 06:38 easy-springmvc-maven
-rw-r----- 1 root root 4788840 Jul 12 06:38 easy-springmvc-maven.war
drwxr-x--- 3 root root      25 Jul 12 06:06 generated-sources
drwxr-x--- 2 root root      28 Jul 12 06:38 maven-archiver
drwxr-x--- 3 root root      35 Jul 12 06:06 maven-status

这里面就已经有了打好的war包,就成功构建并打包了。 

配置项目上线

来到jenkins的web页面,继续增加maven-project任务的配置

 

 设置好后点立即构建,然后看到正确输出即可。

来到项目上线的主机,到tomcat管理页面查看

管理页面需要登录,安装时配置的tomcat的用户名和密码

 

这里就看到自动打包并上线的项目了。 

这里使用的项目的用户名和密码,在其代理里定义的,用户名:admin   密码:admin  输入后登录即可。

修改项目代码测试 

来到gitlab用户页面使用管理员用户登录,进修修改代码,并提交测试

 

刷新即可看到更改后的文字

回到jenkins页面,点击立即构建

来到tomcat页面查看,此时可以看到登录页标题发生了改变,即完成了一次构建,自动拉取,打包,上线。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/873830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IoTDB 分段查询语句详解:GROUP BY + 时序语义

GROUP BY 查询子句的时序语义展开&#xff0c;IoTDB 支持的分段方式总结&#xff01; 存储的数据通过分析来发挥价值&#xff0c;当一组被存储的数据通过查询得到分析后的结果时&#xff0c;这些数据才真正在数据库中实现了价值闭环。 在关系型数据库中&#xff0c;GROUP BY 子…

陀螺仪LSM6DS3TR-C的简单使用

文章目录 一、前言二、硬件1.引脚说明2.原理图 三、软件1.IIC读写函数1.1 读函数1.2 写函数 2.初始化2.1 检测设备是否存在2.2 读取LSM6DS3TRC器件ID2.3 LSM6DS3TRC重启&#xff0c;重置寄存器2.5 LSM6DS3TRC设置块数据更新2.6 LSM6DS3TRC设置加速度计的数据采样率2.7 LSM6DS3T…

剪画小程序:刷到好听的音频怎么将音频保存到手机里

在这个短视频盛行的时代&#xff0c;相信很多朋友都和我一样&#xff0c;常常会被那些精彩视频中的背景音乐深深吸引。 比如我&#xff0c;特别喜欢听歌&#xff0c;这段时间在短视频平台上刷到了好多好看的视频&#xff0c;里面的背景音乐简直绝绝子&#xff01; 那么&#x…

【数据分享】2013-2022年我国省市县三级的逐年SO2数据(excel\shp格式\免费获取)

空气质量数据是在我们日常研究中经常使用的数据&#xff01;之前我们给大家分享了2000——2022年的省市县三级的逐年PM2.5数据和2013-2022年的省市县三级的逐年CO数据&#xff08;均可查看之前的文章获悉详情&#xff09;&#xff01; 本次我们分享的是我国2013——2022年的省…

《样式设计011:模组-瓷片区》

描述&#xff1a;在开发小程序过程中&#xff0c;发现一些不错的案例&#xff0c;平时使用也比较多&#xff0c;稍微总结了下经验&#xff0c;以下内容可以直接复制使用&#xff0c;希望对大家有所帮助&#xff0c;废话不多说直接上干货&#xff01; 一、小程序&#xff1a;模组…

TeraTerm 使用技巧

参考资料 自分がよく使うTeratermマクロによる自動ログインのやり方をまとめてみたよTera Term マクロでログインを自動化してみたTera Term のススメ 目录 简介一. 常用基础设置1.1 语言变更1.2 log设置 二. 小技巧2.1 指定host别名2.2 新开窗口2.3 设置粘贴多行命令时的行间…

数学建模学习(111):改进遗传算法(引入模拟退火、轮盘赌和网格搜索)求解JSP问题

文章目录 一、车间调度问题1.1目前处理方法1.2简单案例 二、基于改进遗传算法求解车间调度2.1车间调度背景介绍2.2遗传算法介绍2.2.1基本流程2.2.2遗传算法的基本操作和公式2.2.3遗传算法的优势2.2.4遗传算法的不足 2.3讲解本文思路及代码2.4算法执行结果&#xff1a; 三、本文…

怎么使用动态IP地址上网

如何设置动态IP地址上网&#xff1f; 设置动态IP地址上网的步骤如下&#xff1a; 一、了解动态IP地址 动态IP地址是由网络服务提供商&#xff08;ISP&#xff09;动态分配给用户的IP地址&#xff0c;它会根据用户的需求和网络情况实时改变。相比于静态IP地址&#xff0c;动态…

基于术语词典干预的机器翻译挑战赛笔记 Task3 #Datawhale AI 夏令营

书接上回&#xff0c;上回在这捏&#xff1a; 基于术语词典干预的机器翻译挑战赛笔记Task2 #Datawhale AI 夏令营-CSDN博客文章浏览阅读223次&#xff0c;点赞10次&#xff0c;收藏5次。基于术语词典干预的机器翻译挑战赛笔记Task2https://blog.csdn.net/qq_23311271/article/…

状压dp,D - Grid Puzzle

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 D - Grid Puzzle 二、解题报告 1、思路分析 贪心做法看不懂&#xff08;为什么我赛时要跟贪心过不去啊&#xff09; 这个题麻烦在这个case&#xff1a;2 4 4 2&#xff0c;我们可以清除三次2x2得到 但是我…

前端post提交一次会有两次请求?

1 问题&#xff1a;前端post只提交一次会有两次请求&#xff1f; 前端post只提交一次会有两次请求&#xff1f;如下图&#xff1a; 这里是执行了两次post提交&#xff0c;每个post都有两次&#xff08;一次是preflight以options方式&#xff0c;一次是xhr&#xff0c;原本…

Yolo-World网络模型结构及原理分析(三)——RepVL-PAN

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1. 网络结构2. 特征融合3. 文本引导&#xff08;Text-guided&#xff09;4. 图像池化注意力&#xff08;Image-Pooling Attention&#xff09;5. 区域文本匹配&…

springboot+vue+mybatis校园热点新闻系统+PPT+论文+讲解+售后

21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存储达到…

如何在 Windows 上恢复丢失或删除的文件

意外删除重要文件或文档的历史与 Windows 本身一样悠久&#xff0c;这就是为什么有许多内置方法来恢复它。从深入回收站到挖掘 Microsoft 的 Windows 文件恢复实用程序&#xff0c;以下是如何在 Windows 中恢复丢失和删除的文件。 检查回收站 Windows 帮助您恢复已删除并需要再…

IO多路复用之poll、epoll和select区分

epoll和select 假设你在大学读书&#xff0c;住的宿舍楼有很多间房间&#xff0c;你的朋友要来找你。 select版宿管大妈就会带着你的朋友挨个房间去找&#xff0c;直到找到你为止。 而epoll版宿管大妈会先记下每位同学的房间号&#xff0c; 你的朋友来时&#xff0c;只需告诉你…

德国汉堡大学、清华大学联合英国布里斯托机器人实验室的研究工作分享:基于视觉遥操作的多指机械手灵巧操作

德国汉堡大学&#xff08;张建伟院士团队&#xff09;、清华大学&#xff08;孙富春教授和方斌&#xff09;联合英国布里斯托机器人实验室等单位在基于视觉信息遥操作的多指机械手灵巧操作研究方面取得进展。该工作得到了德国科学基金会&#xff08;DFG&#xff09;与中国国家自…

Git分支管理基本原理

原文全文详见个人博客&#xff1a; Git分支管理基本原理上文已讨论过svn分支管理的基本原理&#xff0c;本文将继续探讨Git分支管理的基本原理&#xff0c;以便后续进行进一步的理解和对比&#xff1a;https://www.coderli.com/git-branch-method/【Java学习交流(982860385)】…

Linux journalctl日志太长,如何倒序查看journalctl --reverse,journalctl -xeu

文章目录 需求实验方法一方法二 需求 Linux journalctl日志太长&#xff0c;如何倒序查看 我们通常关心的是最近的日志&#xff0c;但是每次打开日志都是按时间先后顺序显示的&#xff0c;如何倒序查看&#xff0c;请看下面&#xff1a; 实验 方法一 journalctl 命令默认按…

Linux工具相关介绍

目录 1.linux安装软件 2.Linux软件生态问题 3.linux软件包管理器yum 4.linux里面好玩的小命令 4.1安装源 4.2小火车 4.3人物说话情景 5.vim简单介绍 5.1简单认识 5.2代码编写 5.3命令模式 1.linux安装软件 1.1源代码安装&#xff1a;这个里面可能根据代码bug需要修改…

AI模型大比拼:Claude 3系列 vs GPT-4系列最新模型综合评测

AI模型大比拼&#xff1a;Claude 3系列 vs GPT-4系列最新模型综合评测 引言 人工智能技术的迅猛发展带来了多款强大的语言模型。本文将对六款领先的AI模型进行全面比较&#xff1a;Claude 3.5 Sonnet、Claude 3 Opus、Claude 3 Haiku、GPT-4、GPT-4o和GPT-4o Mini。我们将从性能…