diff --git a/java-mall-app-shop-admin/Jenkinsfile b/java-mall-app-shop-admin/Jenkinsfile index 8158243..150ea4e 100644 --- a/java-mall-app-shop-admin/Jenkinsfile +++ b/java-mall-app-shop-admin/Jenkinsfile @@ -2,18 +2,13 @@ pipeline { agent any tools { - // 指定使用NodeJS18版本(需在Jenkins全局工具配置中提前配置该名称) - nodejs 'NodeJS18' + nodejs 'NodeJS18' // 使用NodeJS18版本 } environment { - // UniApp项目所在目录 UNIAPP_DIR = 'java-mall-app-shop-admin' - // 打包目标平台(可改为mp-weixin、app-plus等) TARGET_PLATFORM = 'h5' - // 打包输出路径 OUTPUT_DIR = "${UNIAPP_DIR}/dist/build/${TARGET_PLATFORM}" - // 部署目标路径(根据实际需求修改) DEPLOY_PATH = '/data/nginx/www/demo' } @@ -21,29 +16,31 @@ pipeline { stage('拉取代码') { steps { checkout scm - echo "代码拉取完成,当前工作目录: ${env.WORKSPACE}" } } - stage('安装项目依赖') { + stage('安装完整依赖(含UniApp插件)') { steps { sh """ - # 进入UniApp项目目录 cd ${UNIAPP_DIR} || { - echo "错误:UniApp项目目录 ${UNIAPP_DIR} 不存在!" + echo "错误:项目目录不存在!" exit 1 } - # 清理旧依赖和缓存 + # 清理旧依赖 rm -rf node_modules package-lock.json - # 使用国内镜像源加速安装 + # 设置镜像源 npm config set registry https://registry.npmmirror.com - # 安装依赖并显示版本信息 - echo "当前NodeJS版本: \$(node -v)" - echo "当前npm版本: \$(npm -v)" + # 安装项目基础依赖 npm install + + # 关键:安装UniApp核心打包插件(解决uni-build不存在问题) + npm install @dcloudio/vue-cli-plugin-uni@latest --save-dev + + # 安装Vue CLI服务(确保vue-cli-service可用) + npm install @vue/cli-service@5.0.8 --save-dev """ } } @@ -53,19 +50,23 @@ pipeline { sh """ cd ${UNIAPP_DIR} - # 直接使用vue-cli-service执行打包(无需依赖package.json脚本) - echo "开始打包${TARGET_PLATFORM}平台..." + # 验证依赖是否安装成功 + echo "检查uni-build命令是否存在..." + npx vue-cli-service help | grep uni-build || { + echo "错误:uni-build命令仍不存在,依赖安装失败!" + exit 1 + } + + # 执行打包 npx vue-cli-service uni-build \ --mode production \ --platform ${TARGET_PLATFORM} - # 验证打包结果 + # 验证输出 if [ ! -d "${OUTPUT_DIR}" ]; then - echo "错误:打包失败,未生成输出目录 ${OUTPUT_DIR}!" + echo "打包失败,未生成输出目录!" exit 1 fi - - echo "${TARGET_PLATFORM}平台打包完成,输出目录: ${OUTPUT_DIR}" """ } } @@ -73,24 +74,16 @@ pipeline { stage('部署到服务器') { steps { sh """ - # 创建部署目录 mkdir -p ${DEPLOY_PATH} - - # 复制打包产物到部署目录 cp -r ${OUTPUT_DIR}/* ${DEPLOY_PATH}/ - - echo "成功部署到 ${DEPLOY_PATH}" + echo "部署成功!" """ } } } post { - success { - echo "UniApp项目(${TARGET_PLATFORM})打包部署成功!" - } - failure { - echo "UniApp项目打包部署失败,请查看详细日志!" - } + success { echo "打包部署成功" } + failure { echo "打包部署失败" } } }