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

使用Jenkins部署nodejs前端项目

1. 安装node环境

1.1 下载

https://nodejs.org/zh-cn/download

在这里插入图片描述

1.2 解压到安装目录

tar -xJvf node-v22.15.1-linux-x64.tar.xz
mv node-v22.15.1-linux-x64 /home/soft/
mv node-v22.15.1-linux-x64/ node22

原本计划安装 node22和node18,但是CentOS7.9 GLIBCXX 版本过低,升级这个代价挺大的,可能导致系统奔溃,看来CentOS7.9已经退出历史的舞台了。

node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)

最后将node版本降至16

tar -xJvf node-v16.20.2-linux-x64.tar.xz
mv node-v16.20.2-linux-x64 /home/soft/
cd /home/soft/
mv node-v16.20.2-linux-x64/ node16

将node版本降至16后,项目打包失败了,最后没办法重新装了操作系统为Rocky Linux 8.10 ,安装node 18成功了。

但是运行 npm -v 的时候报错 Error: Cannot find module '../lib/cli.js',在DeepSeek的帮助下找到了解决办法

cat /home/soft/node18/bin/npm#输出结果为
#!/usr/bin/env node
require('../lib/cli.js')(process)

手动修正 npm 脚本路径

# 编辑 npm 脚本
vim /home/soft/node18/bin/npm# 将路径改为绝对路径(根据实际位置)
#!/usr/bin/env node
require('/home/soft/node18/lib/node_modules/npm/lib/cli.js')(process)

1.3 配置环境变量

vim /etc/profile
export NODE_HOME=/home/soft/node16
$PATH:$NODE_HOME/bin

在这里插入图片描述
重载配置文件

source  /etc/profile

重新打开终端,然后查看安装是否成功

node -v
npm -v

在这里插入图片描述

1.4 配置国内镜像

npm config set registry https://registry.npmmirror.com
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass

2. Jenkins 安装 NodeJS 插件

2.1 插件安装

NodeJS

在这里插入图片描述

2.2 重启Jenkins

浏览器访问 http://ip:8080/restart
在这里插入图片描述

3. Jenkins 配置 node

在这里插入图片描述

4. 项目配置

4.1 新建Item

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 服务器部署路径
REMOTE_DIR="/home/app/commuter/commuter-dev/ui" echo "📦 安装 npm 依赖..."
npm install --registry=https://registry.npmmirror.com
echo "🔨 开始构建项目..."
npm run build
if [ ! -d "./dist" ]; thenecho "❌ 构建失败:未找到编译后dist目录"exit 1
fi
zip -r dist.zip dist
echo "📦 安装 npm 依赖..."
cd $REMOTE_DIR
rm -rf dist*
echo "移动dist文件..."
mv -v ${WORKSPACE}/dist.zip $REMOTE_DIR || { echo "移动dist文件失败"; exit 1; }
ls -l 
echo "解压dist文件..."
unzip dist.zip
echo "🎉 部署完成!"

4. 出现的问题

  1. 一般windows系统不区分大小写,但是Linux系统区分,有时候前端代码路径如果没有区分大小写可能导致项目build失败。
http://www.xdnf.cn/news/571609.html

相关文章:

  • 开源Vue表单设计器FcDesigner中组件联动的配置教程
  • 中国地图上标注颜色的方法
  • 食品饮料行业AI转型趋势分析与智能化解决方案探索​
  • 实战5:个性化数字艺术生成与销售
  • 目标检测 Lite-DETR(2023)详细解读
  • 信息系统项目管理师考前练习3
  • 怎样用 esProc 生成定长时间窗口列表并统计
  • 【Java高阶面经:微服务篇】7. 1秒响应保障:超时控制如何成为高并发系统的“救火队长”?
  • esp32cmini SK6812 2个方式
  • redis--redisJava客户端:Jedis详解
  • WebFuture:在银河麒麟系统中如何无中间件为WebFuture绑定域名、SSL证书
  • 【Linux】借助gcc源码修改,搜索头文件当前进展
  • springboot链接nacos测试
  • 分类预测 | Matlab实现PNN概率神经网络多特征分类预测
  • 数学实验(Matlab绘图基础)
  • 大量程粗糙度轮廓仪适用于哪些材质和表面?
  • 矿物绝缘加热电缆行业2025数据分析报告
  • 使用Gemini, LangChain, Gradio打造一个书籍推荐系统 (第一部分)
  • Dockerfile指令详解
  • 打卡第二十四天
  • Swagger在java的运用
  • PostgreSQL 日常维护
  • Elasticsearch常用命令
  • 宁夏建设工程专业技术职称评审条件
  • 嵌入式Linux:移植使用scp指令
  • Java多线程深度解析:从核心机制到高阶实战
  • upload-labs通关笔记-第16关 文件上传之exif_imagetype绕过(图片马)
  • springcloud集成seata报错Error creating bean with name ‘globalTransactionScanner‘
  • 解决RedisTemplate的json反序列泛型丢失问题
  • SpringAI开发SSE传输协议的MCP Server