云服务器Jenkins部署Springboot项目以及Vue项目

news2024/11/15 15:36:28

一、创建Springboot项目并且上传git

在gitee上创建一个仓库

点击初始化仓库

在idea克隆gitee仓库

创建一个普通的Springboot项目只需要勾选springweb

上传创建的新模块到gitee仓库

二、安装Maven

maven的官网地址:https://maven.apache.org/download.cgi

点击下载并且上传到linux服务器上

使用下面的命令解压maven

tar -zvxf apache-maven-3.9.9-bin.tar.gz

进入maven,需要把刚刚解压出来的文件移动到 /usr/local目录下

编辑maven的settings.xml文件,配置阿里云仓库进行可以加快下载依赖的速度

vim conf/settings.xml

 添加如下的代码到settings.xml文件中

    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>aliyun</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

在/etc/profile中添加maven环境依赖 

vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.9.9
export PATH=$MAVEN_HOME/bin:$PATH

 重新加载/etc/profile文件

source /etc/profile

到此以安装完成,测试一下,输入命令:mvn -v ,如下:

三、安装Maven插件

在jenkins中安装maven插件,在Available plugins中搜索maven并且下载,这个地方我之前就下载了就无法显示全过程了。

配置Maven

四、配置Gitee插件以及配置Gitee

安装Gitee插件和之前的Maven插件安装的步骤是一致的。

点击添加

添加完进行测试

配置SSH公钥为了防止服务器在拉取git代码的时候还需要输入用户名密码

在云服务器上添加公钥,SSH 公钥设置 | Gitee 帮助中心,根据此文档可以直接配置完成

五、jenkins创建任务(Springboot项目)

新建任务

任务配置

5.1 配置源码管理

只需要填写下面标记出来的地方

5.2 构建触发器

在Gitee中配置webhook,进入仓库的管理页面

url地址

密码

5.3 build配置

pom.xml的地址需要是你仓库中的pom.xml的地址

5.4 Post Steps构建完操作

需要在pom.xml文件中添加最后构建出来的名字

 BUILD_ID=DONTKILLME 
#!/bin/bash
#!APP_ID="my-boot"
#!APP_DIR="/data/app"
pkill -f 'java -jar /root/.jenkins/workspace/jenkins-test/jenkins-test/target/jenkinsTest.jar'
nohup java -jar /root/.jenkins/workspace/jenkins-test/jenkins-test/target/jenkinsTest.jar > release_out.log &
start_ok=false
if [[ $? = 0 ]];then
        sleep 3
        tail -n 10 release_out.log
        sleep 5
        tail -n 50 release_out.log
fi
aaa=`grep "Started" release_out.log | awk '{print $1}'`
if [[ -n "${aaa}" ]];then
    echo "Application started ok"
    exit 0
else
    echo "Application started error"
    exit 1
fi

 

运行成功

六、jenkins创建自由风格项目(Vue项目)

首先需要在云服务器上安装配置nodejs环境以及nginx环境。

#启动脚本是在
# /usr/local/nginx/sbin/nginx
#启动,
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#停止
/usr/local/nginx/sbin/nginx -s stop
#重载
/usr/local/nginx/sbin/nginx -s reload
#杀掉nginx
/usr/local/nginx/sbin/nginx -s quit

 

6.1 配置nodejs插件

首先需要下载nodejs插件和之前一致

配置nodejs地址,需要换成你自己的nodejs的地址

6.2 新建一个普通任务

6.3 配置源码地址

6.4 构建环境

 6.5 Build Steps

shell脚本配置

cd /root/.jenkins/workspace/vizFlowWeb/vue-project
npm install 
npm run build
rm -rf /usr/local/nginx/html/dist
cp -r /root/.jenkins/workspace/vizFlowWeb/vue-project/dist /usr/local/nginx/html/dist/
/usr/local/nginx/sbin/nginx -s reload
  1. cd /root/.jenkins/workspace/vizFlowWeb/vue-project:切换当前工作目录到/root/.jenkins/workspace/vizFlowWeb/vue-project。这个目录路径可能是Jenkins自动化服务器上一个特定的工作空间。

  2. npm install:在当前目录下安装项目所需的依赖。这是Node.js的包管理器npm的命令,用于下载项目package.json文件中列出的所有依赖。

  3. npm run build:运行package.json文件中定义的build脚本。这通常是用来构建Vue项目,将源代码编译成可以在浏览器中运行的静态资源。

  4. rm -rf /usr/local/nginx/html/dist:删除/usr/local/nginx/html/dist目录及其所有内容。rm -rf是一个非常强力的删除命令,-r表示递归删除目录及其内容,-f表示强制执行。

  5. cp -r /root/.jenkins/workspace/vizFlowWeb/vue-project/dist /usr/local/nginx/html/dist/:将构建好的Vue项目(位于dist目录)复制到Nginx服务器的静态资源目录下。cp是复制命令,-r表示递归复制目录及其内容。

  6. /usr/local/nginx/sbin/nginx -s reload:重新加载Nginx服务器的配置文件,使更改生效。-s reload参数告诉Nginx平滑重启,不中断当前的连接。

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

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

相关文章

OJ 括号生成

题目&#xff1a; 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例&#xff1a; 代码分析&#xff1a; class Solution { public://进行回溯调用vector<string> generateParenthesis(int n) {if(…

形式向好、成本较低、可拓展性较高的名厨亮灶开源了

简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;减少企业级应用约 95%的开发成本&#xff0c;在强大视频算法加…

你的 Java 对象占用了多少内存

在本文中&#xff0c;我们将讨论 JVM 如何在内存中存储对象&#xff1a;它们的对齐方式。 对象表示是理解 JVM 底层机制的重要主题&#xff0c;它提供了有助于应用程序调优的见解。 这里&#xff0c;我们主要关注填充和对齐&#xff0c;而不是 JVM 如何在内存中表示对象。要获…

CSS 图片廊:打造精美视觉体验

CSS 图片廊:打造精美视觉体验 随着互联网技术的发展,网页设计越来越注重用户体验和视觉效果的呈现。CSS(层叠样式表)作为网页设计的重要工具,能够帮助开发者创建出既美观又实用的图片展示效果。本文将详细介绍如何使用CSS来打造一个精美的图片廊,以提升网页的视觉效果和…

【C++二分查找】2517. 礼盒的最大甜蜜度

本文涉及的基础知识点 C二分查找 贪心&#xff08;决策包容性) LeetCode 2517. 礼盒的最大甜蜜度 给你一个正整数数组 price &#xff0c;其中 price[i] 表示第 i 类糖果的价格&#xff0c;另给你一个正整数 k 。 商店组合 k 类 不同 糖果打包成礼盒出售。礼盒的 甜蜜度 是礼…

RabbitMQ高级篇,进阶内容

强烈建议在看本篇博客之前快速浏览文章&#xff1a;RabbitMQ基础有这一篇就够了 RabbitMQ高级篇 0. 前言1. 发送者的可靠性1.1 生产者重试机制1.2 生产者确认机制1.3 实现生产者确认 2. MQ的可靠性2.1 MQ持久化2.2 LazyQueue 3. 消费者的可靠性3.1 消费者确认机制3.2 失败重试策…

25、Wpf之App资源应用

开发平台&#xff1a;Win10 64位 开发环境&#xff1a;VS2022(64位) Preview .NET Framework&#xff1a;.NET 6 文章目录 一 Resources1.1 Application中定义资源1.2 样式&#xff08;Styles&#xff09;1.3 模板&#xff08;Templates&#xff09;1.4 数据转换器&#xff08;…

微信自动通过好友和自动拉人进群,微加机器人这个功能太好用了

又发现一个好用的功能&#xff0c;之前就想找一个这种工具&#xff0c;现在发现可以利用微加机器人的两个功能来实现&#xff0c;分别是加好友和关键词拉群 首先 微加机器人的专业版 > 功能 > 加好友设置 可以设置一个关键词通过,这样别人加好友的时候只需要输入制定内…

无人机遂行编队飞行中的纯方位无源定位(2022数模国赛B题)

文章目录 论文项目地址 数模国赛前的练手题&#xff0c;实力不够&#xff0c;参考了好多论文才写出来&#xff0c;个人感觉思路应该没什么大问题&#xff0c;供大家参考 论文 项目地址 github&#xff1a;UAVFormationFlight gitee&#xff1a;UAVFormationFlight 项目包含 完…

数据处理脚手架PyODPS入门体验

本文分享了初次使用PyODPS&#xff08;Python版的Open Data Processing Service&#xff09;的心路历程。作者通过实际案例&#xff0c;深入浅出地探讨了PyODPS相较于传统ODPS SQL在数据处理上的灵活性与便捷性&#xff0c;特别是在处理复杂JSON字段统计与多条件筛选方面展现出…

基于verilog的流水线CPU(无中断异常)

突然发现这个还没传&#xff0c;懒得写了&#xff0c;直接把实验报告传上来吧。 流水线CPU实验报告 ​ 本实验最终实现了11条指令&#xff0c;完成了2位控制的分支预测&#xff0c;以及load-use的阻塞&#xff0c;jump的阻塞&#xff0c;beq预测失败的阻塞&#xff0c;还有RA…

《2024中国数据要素产业图谱2.0版》重磅发布

数据猿出品 本次“数据猿2024年度三大媒体策划活动——《2024中国数据要素产业图谱2.0版》”的发布&#xff0c;下一次版本迭代将于2024年12月底发布2024年3.0版&#xff0c;敬请期待&#xff0c;欢迎报名。 大数据产业创新服务媒体 ——聚焦数据 改变商业 随着技术不断革新&a…

C++函数在库中的地址

本文讲述C如何直接调用动态库dll或者so中的函数。 首先我们准备一个被调用库&#xff0c;这个库里面有两个函数&#xff0c;分别是C98 与 C11 下的&#xff0c;名称是run2和run1。 被调用库 相关介绍请看之前的文章《函数指针与库之间的通信讲解》。 //dll_ex_im.h #ifndef…

【通俗理解】二项分布的均值与方差——从成功与失败的概率看分布

【通俗理解】二项分布的均值与方差——从成功与失败的概率看分布 关键词提炼 #二项分布#均值#方差#成功概率#失败概率#伯努利试验 公式解释与案例 二项分布的基本公式 二项分布描述的是在n次独立重复的伯努利试验中&#xff0c;成功次数的概率分布。每次试验的成功概率为p&…

【Android安全】Ubuntu 16.04安装GDB和GEF

1. 安装GDB sudo apt install gdb-multiarch 2. 安装GEF(GDB Enhanced Features) 官网地址&#xff1a;https://github.com/hugsy/gef 2.1 安装2021.10版本 但是在Ubuntu 16.04上&#xff0c;bash -c "$(curl -fsSL https://gef.blah.cat/sh)"等命令不好使&…

如何用 OBProxy 实现 OceanBase 的最佳路由策略

引言 OBProxy&#xff0c;即OceanBase Database Proxy&#xff0c;也简称为ODP&#xff0c;是 OceanBase数据库的专属服务代理。通过应用OBProxy&#xff0c;由后端OceanBase集群的分布式特性所带来的复杂性得以屏蔽&#xff0c;从而使得访问分布式数据库的体验如同访问单机数…

linux上用yolov8训练自己的数据集(pycharm远程连接服务器)

pycharm如何远程连接服务器&#xff0c;看之前的文章 首先去GitHub上下载项目地址&#xff0c;然后下载预训练模型放到项目主目录下 然后下载数据集&#xff0c;我这有个推荐的数据集下载网站&#xff0c;可以直接下载yolov8格式的数据集&#xff08;还支持其他格式的数据集&a…

进程间通信-命名管道

目录 原理 代码 简单通信 回归概念 原理 mkfifo 是 Linux 系统中的一个命令&#xff0c;用于创建命名管道&#xff08;named pipe&#xff09;&#xff0c;也称为 FIFO&#xff08;First In, First Out&#xff09;。命名管道是一种特殊类型的文件&#xff0c;用于进程间通…

从0到1!本地部署一个大语言模型!完整方法!

要想从零开始部署一个**大语言模型&#xff08;LLM&#xff09;**到本地&#xff0c;不仅仅是硬件上安装软件包&#xff0c;还需要对模型选择、优化和应用搭建有一定的理解。下面是一份完整教程&#xff0c;手把手带你走过如何在本地环境中部署LLM。 1. 了解部署需求与硬件准备…

交换机链路聚合

一、概述 通过链路聚合&#xff0c;可以提高链路的可靠性&#xff0c;提升链路带宽。链路具有一般有手工模式和LACP模式。 二、拓扑图 三、实操演练 1、手工模式 手工模式一般用于老旧、低端设备。 缺点&#xff1a; &#xff08;1&#xff09;为了使链路聚合接口正常工作…