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

This commit is contained in:
panjunjie 2025-08-11 12:07:00 +08:00
parent 372f4c64ba
commit 5f2799184c

View File

@ -2,62 +2,95 @@ pipeline {
agent any
tools {
// 指定使用NodeJS18版本需在Jenkins全局工具配置中提前配置该名称
nodejs 'NodeJS18'
}
environment {
// 主项目部署路径
DEPLOY_DIR = '/data/nginx/www/fafamall/demo'
// 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'
}
stages {
stage('拉取代码') {
steps {
checkout scm
echo "代码检出完成,当前工作目录: ${env.WORKSPACE}"
echo "代码拉取完成,当前工作目录: ${env.WORKSPACE}"
}
}
// 主项目构建部署(保持不变)
stage('安装主项目依赖') {
stage('安装项目依赖') {
steps {
sh '''
cd java-mall-app-shop-admin
rm -rf node_modules package-lock.json
npm config set registry https://registry.npmmirror.com
npm install
'''
sh """
# 进入UniApp项目目录
cd ${UNIAPP_DIR} || {
echo "错误UniApp项目目录 ${UNIAPP_DIR} 不存在!"
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
"""
}
}
stage('构建主项目') {
stage('UniApp打包构建') {
steps {
sh '''
cd java-mall-app-shop-admin
npm run build
'''
sh """
cd ${UNIAPP_DIR}
# 直接使用vue-cli-service执行打包无需依赖package.json脚本
echo "开始打包${TARGET_PLATFORM}平台..."
npx vue-cli-service uni-build \
--mode production \
--platform ${TARGET_PLATFORM}
# 验证打包结果
if [ ! -d "${OUTPUT_DIR}" ]; then
echo "错误:打包失败,未生成输出目录 ${OUTPUT_DIR}"
exit 1
fi
echo "${TARGET_PLATFORM}平台打包完成,输出目录: ${OUTPUT_DIR}"
"""
}
}
stage('部署主项目') {
stage('部署到服务器') {
steps {
sh '''
mkdir -p ${DEPLOY_DIR}
rm -rf ${DEPLOY_DIR}/*
cd java-mall-app-shop-admin
cp -r dist/build/h5/* ${DEPLOY_DIR}/
'''
sh """
# 创建部署目录
mkdir -p ${DEPLOY_PATH}
# 复制打包产物到部署目录
cp -r ${OUTPUT_DIR}/* ${DEPLOY_PATH}/
echo "成功部署到 ${DEPLOY_PATH}"
"""
}
}
}
post {
success {
echo '主项目及UniApp项目打包部署成功'
echo "UniApp项目${TARGET_PLATFORM})打包部署成功!"
}
failure {
echo '项目构建或部署失败'
echo "UniApp项目打包部署失败请查看详细日志"
}
}
}