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
部署tomcat

jdk11:
tar -xzf jdk-11.0.2_linux-x64_bin.tar.gz -C /usr/local/
cd /usr/local
mv jdk-11.0.2 java

maevn:
tar -xzf apache-maven-3.8.5-bin.tar.gz -C /usr/local/java
cd /usr/local/java
mv apache-maven-3.8.5 maven

nodejs:
tar -xf node-v16.13.0-linux-x64.tar.xz -C /usr/local/
cd /usr/local/
mv node-v16.13.0 node

tomcat:
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.pub

ssh-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 != "" ]];then
    echo "若依后端服务PID: $ruoyi_pid"
    kill -15 $ruoyi_pid && echo "若依后端服务已关闭"
        nohup /usr/local/java/bin/java  -jar /opt/ruoyi-java/ruoyi-admin.jar &
    if [ $? -eq 0 ];then
        echo "若依后端服务已启动"
    else
        echo "若依后端服务启动失败"
    fi
else
     nohup /usr/local/java/bin/java  -jar /opt/ruoyi-java/ruoyi-admin.jar &
fi


chmod +x /opt/ruoyi-java/java1.sh 

配置构建

mvn clean package

测试

访问

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTML5超酷炫的水果蔬菜在线商城网站源码系列模板1

文章目录 1.设计来源1.1 主界面1.2 商品列表界面1.3 商品详情界面1.4 其他界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/142059238 HTML5超酷炫的水果蔬菜在线商城网…

动手学习RAG: moka-ai/m3e 模型微调deepspeed与对比学习

动手学习RAG: 向量模型动手学习RAG: moka-ai/m3e 模型微调deepspeed与对比学习动手学习RAG:迟交互模型colbert微调实践 bge-m3 1. 环境准备 pip install transformers pip install open-retrievals注意安装时是pip install open-retrievals,但调用时只…

【Mac】系统环境配置

常用工具 Navicat PJ版本:this Host切换器 SwitchHosts termius 一款好用的Linux服务器连接工具: termius 小飞机 dddd:🪜 Git mac安装git有好多种方式,自带的xcode或者通过Homebrew来安装,本文的…

人工智能开发实战matplotlib库应用基础

内容导读 matplotlib简介绘制直方图绘制撒点图 一、matplotlib简介 matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成高质量的图形。 matplotlib 尝试使容易的事情变得更容易,使困难的事情变得可能。 我们只需几行代码…

Qt ORM模块使用说明

附源码:QxOrm是一个C库资源-CSDN文库 使用说明 把QyOrm文件夹拷贝到自己的工程项目下, 在自己项目里的Pro文件里添加include($$PWD/QyOrm/QyOrm.pri)就能使用了 示例test_qyorm.h写了表的定义,Test_QyOrm_Main.cpp中写了所有支持的功能的例子: 通过自动表单添加…

C++ ——string的模拟实现

目录 前言 浅记 1. reserve(扩容) 2. push_back(尾插) 3. iterator(迭代器) 4. append(尾插一个字符串) 5. insert 5.1 按pos位插入一个字符 5.2 按pos位插入一个字符串 …

CleanClip for Mac 剪切板 粘贴工具 历史记录 安装(保姆级教程,新手小白轻松上手)

CleanClip:革新macOS剪贴板管理体验 目录 功能概览 多格式历史记录保存智能搜索功能快速复制操作拖拽功能 安装指南 前期准备安装步骤 配置与使用 功能概览 多格式历史记录保存 CleanClip支持保存文本、图片、文件等多种格式的复制历史记录,为用户提…

C语言 | Leetcode C语言接雨水II

题目: 题解: typedef struct{int row;int column;int height; } Element;struct Pri_Queue; typedef struct Pri_Queue *P_Pri_Queue; typedef Element Datatype;struct Pri_Queue{int n;Datatype *pri_qu; };/*优先队列插入*/ P_Pri_Queue add_pri_que…

通信工程学习:什么是SNI业务节点接口

SNI:业务节点接口 SNI业务节点接口,全称Service Node Interface,是接入网(AN)和一个业务节点(SN)之间的接口,位于接入网的业务侧。这一接口在通信网络中扮演着重要的角色&#xff0c…

几种手段mfc140u.dll丢失的解决方法,了解mfc140u.dll

在使用Windows操作系统时,许多用户可能会遇到“找不到mfc140u.dll”或“mfc140u.dll未找到”的错误提示。这个错误通常是由于该文件丢失或损坏所致。本文将详细介绍mfc140u.dll文件的作用、丢失的原因及其解决方法,帮助您快速恢复系统的正常运行。 一、m…

2024年华为9月4日秋招笔试真题题解

2024年华为0904秋招笔试真题 二叉树消消乐好友推荐系统维修工力扣上类似的题--K站中转内最便宜的航班 二叉树消消乐 题目描述 给定原始二叉树和参照二叉树(输入的二叉树均为满二叉树,二叉树节点的值范围为[1,1000],二叉树的深度不超过1000)&#xff0c…

Maven 解析:打造高效、可靠的软件工程

Apache Maven【简称maven】 是一个用于 Java 项目的构建自动化工具, 通过提供一组规则来管理项目的构建、依赖关系和文档。 1.Pre-预备知识: 1.1.Maven是什么? [by Maven是什么?有什么作用?Maven的核心内容简述_ma…

简化登录流程,助力应用建立用户体系

随着智能手机和移动应用的普及,用户需要在不同的应用中注册和登录账号,传统的账号注册和登录流程需要用户输入用户名和密码,这不仅繁琐而且容易造成用户流失。 华为账号服务(Account Kit)提供简单、快速、安全的登录功能,让用户快…

Zabbix自定义监控项与触发器

当我们需要获取某台主机上的数据时,直接利用 zabbix 提供的模板可以很方便的获得需要的数据,但是有些特别的数据,利用这些现有的模板或监控项是无法实现的,例如网站状态信息的监控、mysql数据库主从状态等信息。这是就需要自己定义键值和监控…

Java许可政策再变,Oracle JDK 17 免费期将结束!

原文地址:https://www.infoworld.com/article/3478122/get-ready-for-more-java-licensing-changes.html Oracle JDK 17的许可协议将于9月变更回Oracle Technology Network License Agreement,这将迫使用户重新评估他们的使用策略。 有句老话说&#xf…

小程序组件间通信

文章目录 父传子子传父获取组件实例兄弟通信 父传子 知识点: 父组件如果需要向子组件传递指定属性的数据,在 WXML 中需要使用数据绑定的方式 与普通的 WXML 模板类似,使用数据绑定,这样就可以向子组件的属性传递动态数据。 父…

java实际开发——数据库存储金额时用什么数据类型?(MySQL、PostgreSQL)

目录 java开发时金额用的数据类型——BigDecimal MySQL存储金额数据时用的数据类型是——decimal PostgreSQL存储金额数据时用的数据类型是——decimal 或 money java开发时金额用的数据类型——BigDecimal https://blog.csdn.net/Jilit_jilit/article/details/142180903?…

YOLOv5/v8 + 双目相机测距

yolov5/v8双目相机测距的代码,需要相机标定 可以训练自己的模型并检测测距,都是python代码 已多次实验,代码无报错。 非常适合做类似的双目课题! 相机用的是汇博视捷的双目相机,具体型号见下图。 用的yolov5是6.1版本的…

ubuntu2204安装kvm

ubuntu2204安装kvm 前言一、检测硬件是否支持二、安装软件三、创建/管理虚拟机1、创建存储池2、qemu创建镜像3、xml文件运行虚拟机1、范文2、xml文件创建虚机3、创建虚机 4、克隆虚机5、创建快照6、脚本创建VNC连接 四、创建集群1、安装glusterfs2、加入集群删除节点 3、 创建卷…

深度剖析iOS渲染

iOS App 图形图像渲染的基本流程: 1.CPU:完成对象的创建和销毁、对象属性的调整、布局计算、文本的计算和排版、图片的格式转换和解码、图像的绘制。 2.GPU:GPU拿到CPU计算好的显示内容,完成纹理的渲染, 渲染完成后将渲…