java-mall-admin/ JenkinsfileBuild

62 lines
1.4 KiB
Plaintext

pipeline {
agent any
tools {
nodejs 'NodeJS16'
}
environment {
// 抽取部署目标路径为公共变量
DEPLOY_DIR = '/data/nginx/www/fafamall/admin'
}
stages {
stage('拉取代码') {
steps {
checkout scm
}
}
stage('安装依赖') {
steps {
sh '''
echo "清理旧依赖..."
rm -rf node_modules package-lock.json
npm cache clean --force
echo "设置国内腾讯云镜像源加速..."
npm config set registry https://mirrors.cloud.tencent.com/npm/
# 安装其他依赖
npm install
'''
}
}
stage('构建项目') {
steps {
sh 'npm run build'
}
}
stage('部署项目') {
steps {
sh '''
# 公共部署逻辑(创建目录、清理、复制)
mkdir -p ${DEPLOY_DIR}
rm -rf ${DEPLOY_DIR}/*
cp -r admin/* ${DEPLOY_DIR}/
'''
}
}
}
post {
success {
echo '项目部署成功.'
}
failure {
echo '项目部署失败.'
}
}
}