当前位置: 首页 > news >正文

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 语言中的一个标准库函数&#xff0c;用于将源字符串复制到目标字符串中。它定义在 <…...

区块链-P2P(八)

前言 P2P网络&#xff08;Peer-to-Peer Network&#xff09;是一种点对点的网络结构&#xff0c;它没有中心化的服务器或者管理者&#xff0c;所有节点都是平等的。在P2P网络中&#xff0c;每个节点都可以既是客户端也是服务端&#xff0c;这种网络结构的优点是去中心化、可扩展…...

数据库管理的利器Navicat —— 全面测评与热门产品推荐

在数据库管理领域&#xff0c;Navicat无疑是一款深受欢迎的软件。作为一个强大的数据库管理和开发工具&#xff0c;它支持多种数据库类型&#xff0c;包括MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL等。本文将全面测评Navicat的核心功能&#xff0c;同时推荐几款…...

如何让Google收录我的网站?

其实仅仅只是收录&#xff0c;只要在GSC提交网址&#xff0c;等个两三天&#xff0c;一般就能收录&#xff0c;但收录是否会掉&#xff0c;这篇内容收录了是否有展现&#xff0c;排名&#xff0c;就是另外一个课题了&#xff0c;如果不收录&#xff0c;除了说明你的网站有问题&…...

03 Flask-添加配置信息

回顾之前学习的内容 02 Flask-快速上手 Flask 中最简单的web应用组成 1. 导入核心库 Flask from flask import Flask2. 实例化 web应用 注意&#xff1a;不要漏了 app Flask(__name__) 中的 __name__ 表示&#xff1a;是从当前的py文件实例化 app Flask(__name__)3. 创…...

Codes 开源研发项目管理平台——敏捷测试管理创新解决方案

前言 Codes 是国内首款重新定义 SaaS 模式的开源项目管理平台&#xff0c;支持云端认证、本地部署、全部功能开放&#xff0c;并且对30人以下团队免费。它通过整合迭代、看板、度量和自动化等功能&#xff0c;简化测试协同工作&#xff0c;使敏捷测试更易于实施。并提供低成本的…...

耗时一个月,我做了一个网页视频编辑器

最近又肝了一个多月&#xff0c;终于把这个网页视频编辑器做好了&#xff0c;下面我来简单介绍一下如何使用 注意目前该功能还处在测试阶段&#xff0c;可能会有很多问题&#xff0c;后续我会不断修复 体验地址 app.zyjj.cc 界面介绍 整个剪辑界面包括4个区&#xff0c;左边是…...

uniapp 做一个查看图片的组件,图片可缩放移动

因为是手机端&#xff0c;所以需要触摸可移动&#xff0c;双指放大缩小。 首先在components里建个组件 查看图片使用 uni-popup 弹窗 要注意 transform的translate和scale属性在同一标签上不会一起生效 移动就根据触摸效果进行偏移图片 缩放就根据双指距离的变大变小进行缩…...

卡车配置一键启动无钥匙进入手机控车

‌ 卡车智能一键启动无钥匙进入手机控车&#xff0c;通过手机应用程序与汽车内置硬件、软件的无线通信&#xff0c;实现对汽车的远程控制‌。 卡车改装一键启动的步骤包括安装门把手的感应装置、拆卸仪表台和门板&#xff0c;取出内部的待接线束&#xff0c;并将一键启动…...

计算机网络基础概念 交换机、路由器、网关、TBOX

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么&#xff1f;二 、交换机三、路由器四、网关五、TBOX六、问题1 、网关和交换机的区别2、网关和路由器的区别 总结 前言 工作有感而发&#xff0…...

labview禁用8080端口

需求背景 最近电脑上安装了labview全家桶,发现idea的8080端口项目启动报错,一直提示8080端口被占用。最简单的办法就是找到8080端口的服务,然后关闭这个服务。但是我不想这么做,我想把labview的web服务器的端口给修改了。 操作教程 1、cmd查看8080端口 2、windows进程 同…...

字符串的KMP算法详解及C/C++代码实现

1. 原由 紧接上文&#xff0c;我们知道了暴力匹配的算法在时间运行上的缺陷&#xff0c;假设字符串T的长度为n&#xff0c;字符串P的长度为m&#xff0c;则整个算法的时间复杂度为O( n * m )&#xff0c;而对于一个复杂的现实情况而言 n >> m >> 2 &#xff08;即…...

2024年数学建模比赛题目及解题代码

目录 一、引言 1. 1竞赛背景介绍 1.1.1数学建模竞赛概述 1.1.2生产过程决策问题在竞赛中的重要性 1.2 解题前准备 1.2.2 工具与资源准备 1.2.3 心态调整与策略规划 二、问题理解与分析 三、模型构建与求解 3.1 模型选择与设计 3.1.1 根据问题特性选择合适的数学模型类…...

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型&#xff0c;提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练&#xff0c;提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的&#xff1f;使用了哪些 NLP 已有的技术和思想&#xff…...

在Flask中实现跨域请求(CORS)

在Flask中实现跨域请求&#xff08;CORS&#xff0c;Cross-Origin Resource Sharing&#xff09;主要涉及到对Flask应用的配置&#xff0c;以允许来自不同源的请求访问服务器上的资源。以下是在Flask中实现CORS的详细步骤和方法&#xff1a; 一、理解CORS CORS是一种机制&…...