pipeline { agent any tools { nodejs 'NodeJS16' } environment { // 主项目部署路径 DEPLOY_DIR = '/data/nginx/www/fafamall/demo' // UniApp项目目录 UNIAPP_DIR = 'merchapp/java-mall-app-shop-admin' // UniApp打包输出路径(根据实际项目配置调整) UNIAPP_DIST = 'merchapp/java-mall-app-shop-admin/dist/build/h5' } stages { stage('拉取代码') { steps { checkout scm } } stage('安装主项目依赖') { steps { sh ''' rm -rf node_modules package-lock.json npm config set registry https://registry.npmmirror.com npm install ''' } } stage('构建主项目') { steps { sh 'npm run build' } } stage('部署主项目') { steps { sh ''' mkdir -p ${DEPLOY_DIR} rm -rf ${DEPLOY_DIR}/* cp -r dist/* ${DEPLOY_DIR}/ ''' } } // 新增:UniApp项目打包阶段 stage('UniApp项目打包') { steps { sh ''' # 进入UniApp项目目录 cd ${UNIAPP_DIR} # 清理旧依赖和缓存 rm -rf node_modules package-lock.json # 设置镜像源并安装依赖 npm config set registry https://registry.npmmirror.com npm install # 执行UniApp打包(以H5为例,可根据需要替换为其他平台命令) npm run build:h5 # 如需部署UniApp产物,可添加部署命令(示例) # mkdir -p /data/nginx/www/uniapp-shop-admin # rm -rf /data/nginx/www/uniapp-shop-admin/* # cp -r ${UNIAPP_DIST}/* /data/nginx/www/uniapp-shop-admin/ ''' } } } post { success { echo '主项目及UniApp项目部署成功.' } failure { echo '项目部署失败.' } } }