更新 java-mall-app-shop-admin/Jenkinsfile

This commit is contained in:
panjunjie 2025-08-11 12:10:24 +08:00
parent 5f2799184c
commit 3d1e9df1b9

View File

@ -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 "打包部署失败" }
}
}