diff --git a/java-mall-app-shop-admin/Jenkinsfile b/java-mall-app-shop-admin/Jenkinsfile index 0a885e5..2ac0094 100644 --- a/java-mall-app-shop-admin/Jenkinsfile +++ b/java-mall-app-shop-admin/Jenkinsfile @@ -2,25 +2,27 @@ pipeline { agent any tools { - nodejs 'NodeJS16' + nodejs 'NodeJS22' } 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' + // UniApp项目子目录 + UNIAPP_SUB_DIR = 'merchapp/java-mall-app-shop-admin' + // UniApp打包输出目录(相对子目录的路径) + UNIAPP_DIST_RELATIVE = 'dist/build/h5' } stages { stage('拉取代码') { steps { checkout scm + echo "代码检出完成,当前工作目录: ${env.WORKSPACE}" } } + // 主项目构建部署(保持不变) stage('安装主项目依赖') { steps { sh ''' @@ -47,27 +49,40 @@ pipeline { } } - // 新增:UniApp项目打包阶段 + // UniApp项目打包(在子目录中执行) stage('UniApp项目打包') { steps { sh ''' - # 进入UniApp项目目录 - cd ${UNIAPP_DIR} + echo "进入UniApp项目目录: ${UNIAPP_SUB_DIR}" + cd ${UNIAPP_SUB_DIR} || { + echo "错误:UniApp项目目录 ${UNIAPP_SUB_DIR} 不存在!" + exit 1 + } - # 清理旧依赖和缓存 + # 显示当前目录以确认 + pwd + + # 清理旧依赖 rm -rf node_modules package-lock.json - # 设置镜像源并安装依赖 + # 安装依赖 npm config set registry https://registry.npmmirror.com npm install - # 执行UniApp打包(以H5为例,可根据需要替换为其他平台命令) + # 执行打包(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/ + # 验证打包结果 + if [ ! -d "${UNIAPP_DIST_RELATIVE}" ]; then + echo "错误:UniApp打包失败,未找到输出目录!" + exit 1 + fi + + # 如需部署UniApp产物,可添加以下命令 + # UNIAPP_DEPLOY_DIR="/data/nginx/www/uniapp-admin" + # mkdir -p ${UNIAPP_DEPLOY_DIR} + # rm -rf ${UNIAPP_DEPLOY_DIR}/* + # cp -r ${UNIAPP_DIST_RELATIVE}/* ${UNIAPP_DEPLOY_DIR}/ ''' } } @@ -75,10 +90,10 @@ pipeline { post { success { - echo '主项目及UniApp项目部署成功.' + echo '主项目及UniApp项目打包部署成功' } failure { - echo '项目部署失败.' + echo '项目构建或部署失败' } } -} \ No newline at end of file +}