Jenkins 构建迁移指南
项目统一迁移至 Jenkins 进行构建部署 (已完成)
📋 迁移项目清单
💡 新项目默认使用 Jenkins 构建,无需列举
已完成迁移
- ✅ 用户中心 - auth-center-frontend
- ✅ 运营后台 - playlet-ui
- ✅ 分销后台 - playlet-agent-ui
- ✅ 渠道管理
- channel-web-frontend
- channel-app-frontend
- ❌
jiashu(不维护,待迁移)
- ✅ 供应商后台 - playlet-supply-web-ui
- ✅ IAA 渠道推广后台 - channel-web-iaa-frontend
- ✅ 全民分销系列
- 管理后台 - spread-playlet-jnt-admin
- H5 端 - spread-playlet-jnt-h5
- 外部代理商 - spread-playlet-jnt-admin-external
- ✅ 短剧免费分销商 - playlet-iaa-agent-web-frontend
🔧 迁移配置要点
1️⃣ 配置 npm 镜像源
将 npm 镜像源修改为阿里镜像,提升依赖安装速度:
sh
registry=https://registry.npmmirror.com/
sass_binary_site=https://npmmirror.com/mirrors/node-sass/2️⃣ 统一构建产物目录
重要: 构建产物必须输出到 dist 目录,Jenkins 会自动将其上传至 CDN。
Vite 项目配置
javascript
// https://vitejs.dev/config/
export default defineConfig(({ command }) => {
return {
base: VITE_APP_ENV === 'production' ? '/' : '/',
build: {
outDir: 'dist',
assetsDir: 'static',
},
}
})Vue CLI 项目配置
javascript
// https://cli.vuejs.org/config/
module.exports = {
productionSourceMap: false,
publicPath: './',
assetsDir: 'static',
outputDir: `dist/${process.env.VUE_APP_PLATFORM}/` + process.env.FOLDER + '/' + process.env.BUILD_NAME,
outputDir: 'dist',
}3️⃣ Node.js 版本选择
目前 Jenkins 提供两个版本 nodejs, 根据项目所需版本选择, 需要注意在 Jenkins 中配置环境变量
tips: 在
22.17.1 (LTS)和18.20.3版本中, 可以直接使用pnpm包管理器
sh
export NODEJS22_17_HOME=/opt/nodejs/node-v22.17.1
export PATH=$NODEJS22_17_HOME/bin:$PATHsh
export NODEJS18_20_HOME=/opt/nodejs/node-v18.20.3
export PATH=$NODEJS18_20_HOME/bin:$PATHsh
export NODEJS16_HOME=/opt/nodejs/node-v16.14.2
export PATH=$NODEJS16_HOME/bin:$PATH4️⃣ 统一构建命令
所有项目需在 package.json 中配置以下命令:
json
{
"scripts": {
"test": "vite build --mode test",
"build:prod": "vite build",
}
}执行示例:
bash
# 使用 npm
npm run test # 测试环境
npm run build:prod # 生产环境
# 使用 pnpm
pnpm run test # 测试环境
pnpm run build:prod # 生产环境5️⃣ Jenkins 构建脚本
在 Jenkins Job 中配置以下 Shell 脚本:
Node.js
bash
#!/bin/bash
export NODEJS22_17_HOME=/opt/nodejs/node-v22.17.1
export PATH=$NODEJS22_17_HOME/bin:$PATH
# 安装依赖并构建
pnpm install
pnpm run build:prod
# 打包构建产物
cd dist/
ls -l
rm -f html.tar
tar zcvf html.tar *Node.js 16.14.2(兼容旧项目)
bash
#!/bin/bash
# 配置 Node.js 16 环境
export NODEJS16_HOME=/opt/nodejs/node-v16.14.2
export PATH=$NODEJS16_HOME/bin:$PATH
# 安装依赖并构建
npm install
npm run build:prod
# 打包构建产物
cd dist/
rm -f html.tar
tar zcvf html.tar *✅ 迁移检查清单
迁移项目前请确认以下事项:
- [ ] 已配置
.npmrc文件 - [ ] 构建产物输出到
dist目录 - [ ] 已配置
test和build:prod命令 - [ ] 已选择合适的 Node.js 版本
- [ ] 已在 Jenkins 中配置构建脚本