Skip to content

技术改造 - Jenkins

项目统一迁移到 Jenkins 上构建处理

项目迁移列举

新项目不列举, 默认要求 Jenkins 构建

迁移修改点列举

1. 镜像地址修改为阿里源地址

sh
registry=https://registry.npmmirror.com/
sass_binary_site=https://npmmirror.com/mirrors/node-sass/

2. 统一从 dist 目录获取到构建产物, 在上传放到 CDN

javascript
// https://vitejs.dev/config/
export default defineConfig(({ command }) => {
  return {
    base: VITE_APP_ENV === 'production' ? '/' : '/',
    build: {
      outDir: 'dist', 
      assetsDir: 'static',
    },
  }
})
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. Nodejs 版本

目前 Jenkins 提供两个版本 nodejs, 根据项目所需版本选择, 需要注意在 Jenkins 中配置环境变量

tips: 在 18.20.3 版本中, 可以直接使用 pnpm 包管理器

sh
export NODEJS18_20_HOME=/opt/nodejs/node-v18.20.3
export PATH=$NODEJS18_20_HOME/bin:$PATH
sh
export NODEJS16_HOME=/opt/nodejs/node-v16.14.2
export PATH=$NODEJS16_HOME/bin:$PATH

4. 发布统一构建命令

sh
# 构建测试环境
npm run test

# 构建生产环境
npm run build:prod
sh
# 构建测试环境
pnpm run test

# 构建生产环境
pnpm run build:prod

5. Jenkins job shell

sh
#!/bin/bash

export NODEJS18_20_HOME=/opt/nodejs/node-v18.20.3
export PATH=$NODEJS18_20_HOME/bin:$PATH

npm install
npm run build:prod

cd dist/
ls -l
rm -f html.tar
tar zcvf html.tar *
sh
#!/bin/bash

export NODEJS16_HOME=/opt/nodejs/node-v16.14.2
export PATH=$NODEJS16_HOME/bin:$PATH

npm install
npm run build:prod

cd dist/
ls -l
rm -f html.tar
tar zcvf html.tar *