84 lines
2.4 KiB
Groovy
84 lines
2.4 KiB
Groovy
pipeline {
|
||
agent any
|
||
|
||
tools {
|
||
nodejs 'NodeJS16'
|
||
}
|
||
|
||
environment {
|
||
// 主项目部署路径
|
||
DEPLOY_DIR = '/data/nginx/www/fafamall/demo'
|
||
// UniApp项目目录
|
||
UNIAPP_DIR = 'merchapp/java-mall-app-shop-admin'
|
||
// UniApp打包输出路径(根据实际项目配置调整)
|
||
UNIAPP_DIST = 'merchapp/java-mall-app-shop-admin/dist/build/h5'
|
||
}
|
||
|
||
stages {
|
||
stage('拉取代码') {
|
||
steps {
|
||
checkout scm
|
||
}
|
||
}
|
||
|
||
stage('安装主项目依赖') {
|
||
steps {
|
||
sh '''
|
||
rm -rf node_modules package-lock.json
|
||
npm config set registry https://registry.npmmirror.com
|
||
npm install
|
||
'''
|
||
}
|
||
}
|
||
|
||
stage('构建主项目') {
|
||
steps {
|
||
sh 'npm run build'
|
||
}
|
||
}
|
||
|
||
stage('部署主项目') {
|
||
steps {
|
||
sh '''
|
||
mkdir -p ${DEPLOY_DIR}
|
||
rm -rf ${DEPLOY_DIR}/*
|
||
cp -r dist/* ${DEPLOY_DIR}/
|
||
'''
|
||
}
|
||
}
|
||
|
||
// 新增:UniApp项目打包阶段
|
||
stage('UniApp项目打包') {
|
||
steps {
|
||
sh '''
|
||
# 进入UniApp项目目录
|
||
cd ${UNIAPP_DIR}
|
||
|
||
# 清理旧依赖和缓存
|
||
rm -rf node_modules package-lock.json
|
||
|
||
# 设置镜像源并安装依赖
|
||
npm config set registry https://registry.npmmirror.com
|
||
npm install
|
||
|
||
# 执行UniApp打包(以H5为例,可根据需要替换为其他平台命令)
|
||
npm run build:h5
|
||
|
||
# 如需部署UniApp产物,可添加部署命令(示例)
|
||
# mkdir -p /data/nginx/www/uniapp-shop-admin
|
||
# rm -rf /data/nginx/www/uniapp-shop-admin/*
|
||
# cp -r ${UNIAPP_DIST}/* /data/nginx/www/uniapp-shop-admin/
|
||
'''
|
||
}
|
||
}
|
||
}
|
||
|
||
post {
|
||
success {
|
||
echo '主项目及UniApp项目部署成功.'
|
||
}
|
||
failure {
|
||
echo '项目部署失败.'
|
||
}
|
||
}
|
||
} |