更新 java-mall-app-shop-admin/Jenkinsfile
This commit is contained in:
parent
372f4c64ba
commit
5f2799184c
81
java-mall-app-shop-admin/Jenkinsfile
vendored
81
java-mall-app-shop-admin/Jenkinsfile
vendored
@ -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
|
||||
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项目打包部署失败,请查看详细日志!"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user