62 lines
1.4 KiB
Plaintext
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 '项目部署失败.'
|
|
}
|
|
}
|
|
} |