dev2 #1
62
Jenkinsfile
vendored
Normal file
62
Jenkinsfile
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
tools {
|
||||
nodejs 'NodeJS16'
|
||||
}
|
||||
|
||||
environment {
|
||||
// 抽取部署目标路径为公共变量
|
||||
DEPLOY_DIR = '/data/nginx/www/fafamall/demo'
|
||||
}
|
||||
|
||||
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://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}/
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
success {
|
||||
echo '项目部署成功.'
|
||||
}
|
||||
failure {
|
||||
echo '项目部署失败.'
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user