jenkins部署vue项目

news2024/11/18 7:47:35

文章目录

  • 1 先安装node.js
    • 上传到linux并解压
  • jenkins 创建任务
    • 执行脚本 build Steps
    • vue jenkins shell 脚本 (jenkins-web.sh)
    • 启动

如何在linux上安装jenkins可以看上一篇
linux安装jenkins(详细步骤)

1 先安装node.js

建议最好跟你本地安装版本一致,减少没有必要的麻烦:node.js官网

在这里插入图片描述
可以选择当前版本 可以选择自己需要的nodejs版本

在这里插入图片描述

上传到linux并解压

# 选择一个位置存放
cd /usr/local/
# 创建一个文件夹 并把刚才下载好的压缩包上传到对应路径
mkdir node
# 上传完成后 解压文件 
tar -xvf node-v18.17.0-linux-x64.tar.xz
# 配置环境变量
vim /etc/profile
export NODE_HOME=/usr/local/node/node-v18.17.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
# 刷新
source /etc/profile
# 检查是否配置正确
node -v
npm -v

像我这样显示就是没有问题的了

在这里插入图片描述

jenkins 创建任务

  • 选择创建一个任务
    在这里插入图片描述
  • 填写项目名称
    在这里插入图片描述
    在这里插入图片描述
  • 填写你的git 地址 并选择账号 并选择需要的分支

在这里插入图片描述

  • 没有账号的添加 凭证

在这里插入图片描述

  • 添加完成之后, 就可以在下拉选里面选了

在这里插入图片描述
这里勾选上定位具体错误
在这里插入图片描述

执行脚本 build Steps

  • 第一个脚本
#!/bin/bash
# workspace后面的改成你自己项目文件的位置
cd /var/lib/jenkins/workspace/web
npm install --force
  • 第二个脚本
#!/bin/bash
# 脚本位置 放在那个位置写那个
cd /opt/java/web
# 防止jenkins 杀死子线程
export EXEC=./jenkins-web.sh restart
$EXEC stop
sleep 5
BUILD_ID=dontKillMe $EXEC start

vue jenkins shell 脚本 (jenkins-web.sh)

#!/bin/sh
export path=/var/lib/jenkins/workspace/web
export port=9040

case "$1" in
start)
 if(true);then
		echo "--------web开始启动--------------"
		cd $path
		nohup npm run test >/dev/null 2>&1 &
		pid=`lsof -i:$port|grep "LISTEN"|awk '{print $2}'`
		until [ -n "$pid" ]
		    do
		      pid=`lsof -i:$port|grep "LISTEN"|awk '{print $2}'`
			  sleep 3
		    done
		echo "web pid is $pid" 
		echo "--------web 启动成功--------------"
	fi
        echo "===startAll success==="
        ;;
 
 stop)
        P_ID=`lsof -i:$port|grep "LISTEN"|awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "===web process not exists or stop success"
        else
            kill -9 $P_ID
            echo "web killed success"
        fi
	
        echo "===stopAll success==="
        ;;   
 
restart)
        $0 stop
        sleep 2
        $0 start
        echo "===restartAll success==="
        ;; 
esac	
exit 0

启动

在这里插入图片描述
直接保存

点这里启动即可
在这里插入图片描述

点构建历史即可查看 控制台输出
在这里插入图片描述

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

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

相关文章

UCloud上线可商用LLaMA2镜像,助力AGI应用发展

随着人工智能技术的快速发展,大模型应用在自然语言处理、图像识别、智能交互等领域展现出了巨大的潜力,为企业带来了更多创新和商机。众多企业纷纷将大模型应用于产品开发和业务优化中,希望通过提升智能化水平和用户体验来赢得竞争优势。近日…

【黑马头条之文章详情-静态文件生成】

本笔记内容为黑马头条项目的文章详情-静态文件生成部分 目录 一、思路分析 二、实现步骤 基础知识可参考下面两篇文章 【黑马头条之对象存储服务MinIO】_蛋饼吧的博客-CSDN博客 【黑马头条之freemarker入门】_蛋饼吧的博客-CSDN博客 一、思路分析 文章端创建app相关文章时…

如何获得SOLIDWORKS全认证资格证书!

SolidWorks认证考试 完成SolidWorks认证考试并获得专业SolidWorks认证是一项伟大的成就。它不仅在你的简历上自豪地闪耀,而且还向雇主、决策者和同事展示了你对软件的技能和知识水平。公司通常会将某些策略和标准设定为一项业务,以帮助保持在竞争中的领头…

桃子叶片病害数据集

1.分为三类 健康的桃子叶片 ,251张 桃疮痂病一般,857张 桃疮痂病严重,770 张 数据集链接 import os import jsonimport torch from PIL import Image from torchvision import transforms import tkinter as tk from tkinter import file…

MySQL 日志管理

目录 一、四种日志介绍 1.1 错误日志 1.2 通用查询日志 1.3 二进制日志 1.4 慢查询日志 三、查询日志是否已开启 四、分割二进制日志 MySQL的日志默认保存在数据库文件的存储目录(一般为/usr/local/mysql/data/)。也可以修改配置文件,…

低代码可视化开发,是时候去学一学了!

低代码一词,有人认为它是第四代编程语言,有人认为它是开发模式的颠覆,也有人认为它是企业管理模式的变革……有很多声音,社区讨论很热烈。 即使这样,至今也有不少人还不知道这项技术,今天笼统的介绍一下低代…

认识需求不得不思考的5大因素

需求对项目非常重要,如果对需求认识不清晰不明确,往往会导致需求不完整,需求重复等问题,引起很多不必要的风险,因此如何认识需求,需要思考哪些因素,就显得尤为重要。以下5大因素,是我…

Spring 6【Lombok、基于注解方式的IoC】(六)-全面详解(学习总结---从入门到深化)

目录 十一、Lombok 十二、基于注解方式的IoC 十一、Lombok 在上面的课程讲解过程中,每次修改类的属性,都需要重新生成Getter/Setter方法及toString()方法。我 们可以借助Lombok来简化代码。 1 环境准备 下载Lombok插件 IDEA 2022.3.2 默认集成Lomb…

ICASSP 2023 | MCROOD: MULTI-CLASS RADAR OUT-OF-DISTRIBUTION DETECTION

原文链接:https://mp.weixin.qq.com/s?__bizMzg4MjgxMjgyMg&mid2247486484&idx1&snd43f92ca0230753e77f54557054653d6&chksmcf51beedf82637fb27d4cbb9279f273298779dabe25f7775cb93469787bcc12c1b6b2caec979#rd ICASSP 2023 | MCROOD: MULTI-CLASS…

golang利用go mod巧妙替换使用本地项目的包

问题 拉了两个项目下来,其中一个项目依赖另一个项目,因为改动了被依赖的项目,想重新导入测试一下。 解决办法 go.mod文件的require中想要被代替的包名在replace中进行一个替换,注意:用来替换的需要用绝对路径&#xf…

IDEA打开text文本文件弹出窗口“选择一个应用以打开此.text文件“

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

【React】版本正确安装echarts-liquidfill(水球图表)包引入不成功问题

目标效果图: 安装: npm install echarts npm install echarts-liquidfill 引入: Import:import * as echarts from echarts; import echarts-liquidfill 或 import echarts-liquidfill/src/liquidFill.jsOr:import * as echarts from…

4.4. 深拷贝 vs 浅拷贝

文章目录 浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝,此为浅拷贝。深拷贝:对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容,此为…

一招解决报错:pyassimp.errors.AssimpError: assimp library not found

文章目录 1 问题描述2 原因分析3 解决方法 1 问题描述 在使用pip install pyassimp安装pyassimp库后,调用时会出现错误: File"/root/anaconda3/envs/kgn/lib/python3.8/site-packages/pyassimp/helper.py", line 234, in search_library rais…

创造自己的宠物医院预约服务小程序,步骤详解

在现代社会,越来越多的人开始养宠物,而宠物的健康管理也成为了一个重要的话题。为了方便宠物主人随时随地进行宠物医院的管理和服务,开发一个宠物医院管理小程序是很有必要的。今天我们将分享一些制作宠物医院管理小程序的技巧,帮…

EasyExcel数据导出功能封装

起因: 最近需要用到excel导出功能,使用EasyExcel可以快速实现导出,又需要优雅的对EasyExcel进行封装,在实现自己的导出功能时又可以制定一定的规则,让其他同事方便使用,最近研究了下网上的常规写法&#x…

QT基于TCP协议实现数据传输以及波形绘制

这个玩意我做了两个,一个是安卓app,一个是Windows程序。代码并非全部都是由我从无到有实现,只是实现了我想要的功能。多亏了巨人的肩膀,开源万岁!!! 我把程序放到GitHub上,需要的可…

【shell脚本编写使用mysqldump实现分库分表备份】

shell脚本编写使用mysqldump实现分库分表备份 #!/bin/bash# 检查MySQL是否启动 #systemctl list-units --typeservice命令查看可用的服务列表,并找到正确的MySQL服务名称 mysqld.service mysql_status$(systemctl is-active mysqld.service) if [ "$mysql_sta…

向伟大的中国人民解放军生日献礼 黄河千年清一回张国土考察青海

向伟大的中国人民解放军生日献礼 黄河千年清一回张国土考察青海 Birthday gift to the great Chinese Peoples Liberation Army The Yellow River visited Qinghaiin. the Millennium Qing Dynasty 八一前夕,建国七十周年最俱影响力人物、黄河千年清一回互联网电子…

【黑马头条之自管理敏感词】

本笔记内容为黑马头条项目的新需求-自管理敏感词部分 目录 一、需求分析 二、敏感词-过滤 三、DFA实现原理 SensitiveWordUtil工具类 四、自管理敏感词集成到文章审核中 一、需求分析 文章审核功能已经交付了,文章也能正常发布审核。突然,产品经理…