更新 java-mall-app-shop-admin/Jenkinsfile
This commit is contained in:
parent
5f2799184c
commit
3d1e9df1b9
57
java-mall-app-shop-admin/Jenkinsfile
vendored
57
java-mall-app-shop-admin/Jenkinsfile
vendored
@ -2,18 +2,13 @@ pipeline {
|
|||||||
agent any
|
agent any
|
||||||
|
|
||||||
tools {
|
tools {
|
||||||
// 指定使用NodeJS18版本(需在Jenkins全局工具配置中提前配置该名称)
|
nodejs 'NodeJS18' // 使用NodeJS18版本
|
||||||
nodejs 'NodeJS18'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
// UniApp项目所在目录
|
|
||||||
UNIAPP_DIR = 'java-mall-app-shop-admin'
|
UNIAPP_DIR = 'java-mall-app-shop-admin'
|
||||||
// 打包目标平台(可改为mp-weixin、app-plus等)
|
|
||||||
TARGET_PLATFORM = 'h5'
|
TARGET_PLATFORM = 'h5'
|
||||||
// 打包输出路径
|
|
||||||
OUTPUT_DIR = "${UNIAPP_DIR}/dist/build/${TARGET_PLATFORM}"
|
OUTPUT_DIR = "${UNIAPP_DIR}/dist/build/${TARGET_PLATFORM}"
|
||||||
// 部署目标路径(根据实际需求修改)
|
|
||||||
DEPLOY_PATH = '/data/nginx/www/demo'
|
DEPLOY_PATH = '/data/nginx/www/demo'
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21,29 +16,31 @@ pipeline {
|
|||||||
stage('拉取代码') {
|
stage('拉取代码') {
|
||||||
steps {
|
steps {
|
||||||
checkout scm
|
checkout scm
|
||||||
echo "代码拉取完成,当前工作目录: ${env.WORKSPACE}"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('安装项目依赖') {
|
stage('安装完整依赖(含UniApp插件)') {
|
||||||
steps {
|
steps {
|
||||||
sh """
|
sh """
|
||||||
# 进入UniApp项目目录
|
|
||||||
cd ${UNIAPP_DIR} || {
|
cd ${UNIAPP_DIR} || {
|
||||||
echo "错误:UniApp项目目录 ${UNIAPP_DIR} 不存在!"
|
echo "错误:项目目录不存在!"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# 清理旧依赖和缓存
|
# 清理旧依赖
|
||||||
rm -rf node_modules package-lock.json
|
rm -rf node_modules package-lock.json
|
||||||
|
|
||||||
# 使用国内镜像源加速安装
|
# 设置镜像源
|
||||||
npm config set registry https://registry.npmmirror.com
|
npm config set registry https://registry.npmmirror.com
|
||||||
|
|
||||||
# 安装依赖并显示版本信息
|
# 安装项目基础依赖
|
||||||
echo "当前NodeJS版本: \$(node -v)"
|
|
||||||
echo "当前npm版本: \$(npm -v)"
|
|
||||||
npm install
|
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 """
|
sh """
|
||||||
cd ${UNIAPP_DIR}
|
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 \
|
npx vue-cli-service uni-build \
|
||||||
--mode production \
|
--mode production \
|
||||||
--platform ${TARGET_PLATFORM}
|
--platform ${TARGET_PLATFORM}
|
||||||
|
|
||||||
# 验证打包结果
|
# 验证输出
|
||||||
if [ ! -d "${OUTPUT_DIR}" ]; then
|
if [ ! -d "${OUTPUT_DIR}" ]; then
|
||||||
echo "错误:打包失败,未生成输出目录 ${OUTPUT_DIR}!"
|
echo "打包失败,未生成输出目录!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "${TARGET_PLATFORM}平台打包完成,输出目录: ${OUTPUT_DIR}"
|
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -73,24 +74,16 @@ pipeline {
|
|||||||
stage('部署到服务器') {
|
stage('部署到服务器') {
|
||||||
steps {
|
steps {
|
||||||
sh """
|
sh """
|
||||||
# 创建部署目录
|
|
||||||
mkdir -p ${DEPLOY_PATH}
|
mkdir -p ${DEPLOY_PATH}
|
||||||
|
|
||||||
# 复制打包产物到部署目录
|
|
||||||
cp -r ${OUTPUT_DIR}/* ${DEPLOY_PATH}/
|
cp -r ${OUTPUT_DIR}/* ${DEPLOY_PATH}/
|
||||||
|
echo "部署成功!"
|
||||||
echo "成功部署到 ${DEPLOY_PATH}"
|
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
post {
|
post {
|
||||||
success {
|
success { echo "打包部署成功" }
|
||||||
echo "UniApp项目(${TARGET_PLATFORM})打包部署成功!"
|
failure { echo "打包部署失败" }
|
||||||
}
|
|
||||||
failure {
|
|
||||||
echo "UniApp项目打包部署失败,请查看详细日志!"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user