更新 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 agent any
tools { tools {
// 指定使用NodeJS18版本需在Jenkins全局工具配置中提前配置该名称
nodejs 'NodeJS18' nodejs 'NodeJS18'
} }
environment { environment {
// 主项目部署路径 // UniApp项目所在目录
DEPLOY_DIR = '/data/nginx/www/fafamall/demo' 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 { stages {
stage('拉取代码') { stage('拉取代码') {
steps { steps {
checkout scm checkout scm
echo "代码检出完成,当前工作目录: ${env.WORKSPACE}" echo "代码拉取完成,当前工作目录: ${env.WORKSPACE}"
} }
} }
// 主项目构建部署(保持不变) stage('安装项目依赖') {
stage('安装主项目依赖') {
steps { steps {
sh ''' sh """
cd java-mall-app-shop-admin # 进入UniApp项目目录
rm -rf node_modules package-lock.json cd ${UNIAPP_DIR} || {
npm config set registry https://registry.npmmirror.com echo "错误UniApp项目目录 ${UNIAPP_DIR} 不存在!"
npm install 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 { steps {
sh ''' sh """
cd java-mall-app-shop-admin cd ${UNIAPP_DIR}
npm run build
''' # 直接使用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 { steps {
sh ''' sh """
mkdir -p ${DEPLOY_DIR} # 创建部署目录
rm -rf ${DEPLOY_DIR}/* mkdir -p ${DEPLOY_PATH}
cd java-mall-app-shop-admin
cp -r dist/build/h5/* ${DEPLOY_DIR}/ # 复制打包产物到部署目录
''' cp -r ${OUTPUT_DIR}/* ${DEPLOY_PATH}/
echo "成功部署到 ${DEPLOY_PATH}"
"""
} }
} }
} }
post { post {
success { success {
echo '主项目及UniApp项目打包部署成功' echo "UniApp项目${TARGET_PLATFORM})打包部署成功!"
} }
failure { failure {
echo '项目构建或部署失败' echo "UniApp项目打包部署失败请查看详细日志"
} }
} }
} }