Jenkins部署若依项目
一、配置环境
机器
jenkins机器 用途:自动化部署前端后端,前后端自动化构建需要配置发送SSH的秘钥和公钥,同时jenkins要有nodejs工具来进行前端打包,maven工具进行后端的打包。
gitlab机器 用途:远程代码仓库拉取和推送代码。配置jenkins机器的公钥可以让jenkin的机器模拟拉取代码和推送代码
mysql&nginx机器 用途:作为前端机器来进前端页面展示和使用mysql来让后端访问数据库
tomcat&redis机器 用途:作为后端机器来进行后端的服务访问和使用redis机器进行缓存
建议:
最好每个机器都能发送给对方公钥能够直接SSH连接,这样子后面可以省去很多麻烦
基础环境部署
服务部署:
已经部署jenkins
已经部署gitlab
jdk11 jdk1.8 maven3.8.5 nodejs16.3.0 git
环境部署
jenkins机器:
部署jdk11
部署maven
部署nodejs
部署tomcatjdk11:
tar -xzf jdk-11.0.2_linux-x64_bin.tar.gz -C /usr/local/
cd /usr/local
mv jdk-11.0.2 javamaevn:
tar -xzf apache-maven-3.8.5-bin.tar.gz -C /usr/local/java
cd /usr/local/java
mv apache-maven-3.8.5 mavennodejs:
tar -xf node-v16.13.0-linux-x64.tar.xz -C /usr/local/
cd /usr/local/
mv node-v16.13.0 nodetomcat:
tar -xzf apache-tomcat-8.5.45.tar.gz -C /usr/local
cd /usr/local/
mv apache-tomcat-8.5.45 tomcat配置:
vim /etc/profile
最后一行添加:JAVA_HOME=/usr/local/java
MAVEN_HOME=/usr/local/java/maven
NODE_HOME=/usr/local/node
PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_mudules
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL JAVA_HOME MAVEN_HOME测试:
java -version
node -v
mvn -v

安装插件
通过安装插件来调用本地的服务来进行下面步骤的调用本地服务和配置好的工具使用


安装插件关于ssh maven jdk email nodejs git pipline scp等等搜索相关的插件进行安装

二、配置
配置jenkins机器能拉取gitlab
jenkin拉取git仓库
配置SSL Key

jenkins的机器
ssh-keygen一直回车
cat /root/.ssh/id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3106aXv68xNwHPifyUmbzHOoZyYDzRlz4B+PQc/Sk7r82pPKfqBLhrKDsBeK+41K0BDTjpyH3hxiDZDARRcAUKTW/pl8PR+aAzMrkozgAcTrgzJ1T6Ww+rpfNwKRLZmviqjy7fkBn1Zg/wkEbnj0EVQSpV3tso6zIxFd2evqxA0OKnFY83AIyoJeC9QkDCvTqFj924VnRiuHlN3Si090okY+689fbLcjprUypTmXLkWuQOz9BFVzp19MdSs8HtixjwnLlsziCuJo9wLS2EDLo3nazWDHwZYdlVJReVyIaTTMlBVfEcSxL6ZVApPCCdGzJqDWqsjTVH1z/sx1Nd38J root@zabbix-server复制到gitlab

这里我已经配好

推送若依代码
jenkins机器
git clone https://gitee.com/y_project/RuoYi-Vue.git
git git@192.168.252.147:root/ruoyirepo.git
cp RuoYi-Vue/* ruoyirepo/
修改配置文件后
git add *
git commit -m "v1"
git push origin main
配置工具


注意一定要在本地安装好相对应的工具然后进行填写
JDK

注意一定要在本地安装好相对应的工具然后进行填写
Git

Maven

Nodejs

三、部署项目
前端项目
创建项目

选择自由风格项目自定义名称

配置公钥和私钥

复制SSH方式拉取




添加凭据保存后选中
尝试构建拉取
tips:
如果SSH拉取报错,改用http方式拉取或者
修改如下配置项

配置node工具

配置SSH
配置SSH发送将打包好的包儿发送到对应的前端nginx服务器上
系统配置-->项目配置
配置发送秘钥



添加发送到前端的机器ip
jenkins机器:
ssh-copy-id root@8.152.5.140 发送秘钥给nginx前端机器

测试成功才可以进行传输
项目SSH发送

配置构建
cd ruoyi-ui/
npm install -registry=http://registry.npmmirror.com
npm run build:prod
tar -zcvf dist.tar.gz dist/

构建测试





成功!!!!!
后端项目
创建项目

配置源码仓库



配置SSH

准备后台启动服务脚本
后台机器
vim /opt/ruoyi-java/java1.sh
#!/bin/bash
ruoyi_pid=`ps -ef|grep "ruoyi-admin"|grep -v "grep"|awk '{print $2}'`
if [[ $ruoyi_pid != "" ]];thenecho "若依后端服务PID: $ruoyi_pid"kill -15 $ruoyi_pid && echo "若依后端服务已关闭"nohup /usr/local/java/bin/java -jar /opt/ruoyi-java/ruoyi-admin.jar &if [ $? -eq 0 ];thenecho "若依后端服务已启动"elseecho "若依后端服务启动失败"fi
elsenohup /usr/local/java/bin/java -jar /opt/ruoyi-java/ruoyi-admin.jar &
fichmod +x /opt/ruoyi-java/java1.sh

配置构建
mvn clean package

测试

访问

相关文章:
Jenkins部署若依项目
一、配置环境 机器 jenkins机器 用途:自动化部署前端后端,前后端自动化构建需要配置发送SSH的秘钥和公钥,同时jenkins要有nodejs工具来进行前端打包,maven工具进行后端的打包。 gitlab机器 用途:远程代码仓库拉取和…...
ELK笔记
要搞成这样就需要钱来买服务器 开发人员一般不会给服务器权限,不能到服务器上直接看日志,所以通过ELK看日志。不让开发登录服务器。即使你查出来是开发的问题,费时间,而且影响了业务了,就是运维的问题 开发也不能登录…...
计算机网络 --- 计算机网络的分类
一、计算机网络分类 1.1 按分布范围分类 举例:广域网(WAN)、局域网(LAN) 举例:个域网(PAN) 1.2 按传输技术分类 广播式网络――当一台计算机发送数据分组时,广播范围…...
三维动画|创意无限,让品牌传播更精彩!
随着三维动画技术的不断成熟,三维动画宣传片能够很好地宣传品牌、推广产品,因而慢慢地受到不少企业的青睐,成为品牌最常用的一种宣传方式。 三维动画宣传片作为艺术感极高的宣传视频有强烈的节奏感,而且具有风趣、易懂等特点&…...
欧零导航系统正式版,功能强大,可直接运营
欧零导航系统正式版,带广告位/导航分类/可直接运营 本系统采用PHPMySQL技术开发 拥有独立的安装和后台系统 后台采用BootstripMDUI框架 前台使用响应式界面,自适应各种屏幕 代码免费下载:百度网盘...
了解变压器耦合电压开关 D类放大器
在本文中,我们将讨论另一种 D 类配置:变压器耦合电压切换 (TCVS) 放大器。TCVS 放大器的原理图如图 1 所示。 变压器耦合电压开关 D 类放大器的示意图。 图 1.变压器耦合电压开关 D 类放大器。 在本文中,我们将探索该放大器的工作原理&…...
openssh移植:精致的脚本版
前置文章: busybox移植:全能脚本版-CSDN博客 zlib交叉编译-CSDN博客 openssl移植:精致的脚本版-CSDN博客 源码下载 官网:http://www.openssh.com/ 下载了一个很新的版本 ftp://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/openss…...
3C电子胶黏剂在手机制造方面有哪些关键的应用
3C电子胶黏剂在手机制造方面有哪些关键的应用 3C电子胶黏剂在手机制造中扮演着至关重要的角色,其应用广泛且细致,覆盖了手机内部组件的多个层面,确保了设备的可靠性和性能。以下是电子胶在手机制造中的关键应用: 手机主板用胶&…...
Oracle数据库中的动态SQL(Dynamic SQL)
Oracle数据库中的动态SQL是一种在运行时构建和执行SQL语句的技术。与传统的静态SQL(在编写程序时SQL语句就已经确定)不同,动态SQL允许开发者在程序执行过程中根据不同的条件或用户输入来构建SQL语句。这使得动态SQL在处理复杂查询、存储过程中…...
Python判断两张图片的相似度
在Python中,判断两张以numpy的ndarray格式存储的图片的相似度,通常可以通过多种方法来实现,包括但不限于直方图比较、像素差比较、结构相似性指数(SSIM)、特征匹配等。以下是一些常见方法的简要介绍和示例代码。 1. 像…...
MySQL高级功能-窗口函数
背景 最近遇到需求,需要对数据进行分组排序并获取每组数据的前三名。 一般涉及到分组,第一时间就是想到使用group by对数据进行分组,但这样分组,到最后其实只能获取到每组数据中的一条记录。 在需要获取每组里面的多条记录的时候…...
9.12总结
今天学了树状dp和tarjan 树状dp 树状dp,是一种在树形数据结构上应用的动态规划算法。动态规划(DP)通常用于解决最优化问题,通过将问题分解为相对简单的子问题来求解。在树形结构中,由于树具有递归和子结构的特性&…...
小众创新组合!LightGBM+BO-Transformer-LSTM多变量回归交通流量预测(Matlab)
小众创新组合!LightGBMBO-Transformer-LSTM多变量回归交通流量预测(Matlab) 目录 小众创新组合!LightGBMBO-Transformer-LSTM多变量回归交通流量预测(Matlab)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现LightGBMBO-Transformer-L…...
《CSS新世界》书评
《CSS新世界》是由张鑫旭所著,人民邮电出版社在2021年8月10日出版的一本专门讲解CSS3及其之后版本新特性的进阶读物。这本书是“CSS世界三部曲”中的最后一部,全书近600页,内容丰富,涵盖了CSS的全局知识、已有属性的增强、新布局方…...
python 实现euler modified变形欧拉法算法
euler modified变形欧拉法算法介绍 Euler Modified(改进)变形欧拉法算法,也被称为欧拉修改法或修正欧拉法(Euler Modified Method),是一种用于数值求解微分方程的改进方法。这种方法在传统欧拉法的基础上进…...
strcpy 函数及其缺点
目录 一、概念 二、strcpy 函数有什么缺点 1. 缺乏边界检查 2. 容易引发未定义行为 3. 不适合动态和未知长度的字符串操作 4. 替代方案的可用性 5. 效率问题 一、概念 strcpy 是 C 语言中的一个标准库函数,用于将源字符串复制到目标字符串中。它定义在 <…...
区块链-P2P(八)
前言 P2P网络(Peer-to-Peer Network)是一种点对点的网络结构,它没有中心化的服务器或者管理者,所有节点都是平等的。在P2P网络中,每个节点都可以既是客户端也是服务端,这种网络结构的优点是去中心化、可扩展…...
数据库管理的利器Navicat —— 全面测评与热门产品推荐
在数据库管理领域,Navicat无疑是一款深受欢迎的软件。作为一个强大的数据库管理和开发工具,它支持多种数据库类型,包括MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL等。本文将全面测评Navicat的核心功能,同时推荐几款…...
如何让Google收录我的网站?
其实仅仅只是收录,只要在GSC提交网址,等个两三天,一般就能收录,但收录是否会掉,这篇内容收录了是否有展现,排名,就是另外一个课题了,如果不收录,除了说明你的网站有问题&…...
03 Flask-添加配置信息
回顾之前学习的内容 02 Flask-快速上手 Flask 中最简单的web应用组成 1. 导入核心库 Flask from flask import Flask2. 实例化 web应用 注意:不要漏了 app Flask(__name__) 中的 __name__ 表示:是从当前的py文件实例化 app Flask(__name__)3. 创…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
