当前位置: 首页 > 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失败。

相关文章:

  • 【物联网】基于树莓派的物联网开发【6】——汉化+字体库输入法安装
  • 【Linux系统】第五章 - 第七章 -2 逻辑卷 + RAID阵列
  • 基于R语言的贝叶斯网络模型实践技术应用:开启科研新视角
  • js不同浏览器标签页、窗口或 iframe 之间可以相互通信
  • Redis语法大全
  • 解决dedecms织梦系统{dede:arclist keyword=‘动态获取关键词‘}只生效一次
  • 多模态大语言模型arxiv论文略读(八十七)
  • 结构型:组合模式
  • LeetCode117_填充每个结点的下一个右侧结点指针Ⅱ
  • Java读写分离实战
  • BERT、GPT-3与超越:NLP模型演进全解析
  • WebFuture:在银河麒麟系统中如何无中间件为WebFuture绑定域名、SSL证书
  • logits是啥、傅里叶变换
  • YOLOv4深度解析:从架构创新到工业落地的目标检测里程碑
  • C++23 新特性:允许 std::stack 与 std::queue 从迭代器对构造 (P1425R4)
  • open ai查看所有可用的模型列表
  • 【核心原理】MySQL存储结构详解 - 从数据库文件到行格式的完整解析
  • 信息收集深度利用(下)
  • PIO 的 OSR 与 ISR
  • spring cloud alibaba-Geteway详解
  • 如何做响应式网站视频教程/外贸谷歌推广