更新 Jenkinsfile
This commit is contained in:
parent
9d4a62062c
commit
2bb52aebb2
79
Jenkinsfile
vendored
79
Jenkinsfile
vendored
@ -1,62 +1,63 @@
|
|||||||
pipeline {
|
pipeline {
|
||||||
agent any
|
agent any
|
||||||
|
|
||||||
tools {
|
// 环境变量配置
|
||||||
nodejs 'NodeJS16'
|
|
||||||
}
|
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
// 抽取部署目标路径为公共变量
|
// 部署目标服务器路径
|
||||||
DEPLOY_DIR = '/data/nginx/www/fafamall/admin'
|
DEPLOY_DIR = '/data/nginx/www/fafamall/admin'
|
||||||
|
// 代码仓库中预编译的dist文件夹路径
|
||||||
|
DIST_PATH = 'admin'
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage('拉取代码') {
|
stage('拉取代码(含预编译admin)') {
|
||||||
steps {
|
steps {
|
||||||
checkout scm
|
script {
|
||||||
|
// 从代码仓库拉取最新代码(包含预编译的admin)
|
||||||
|
checkout scm
|
||||||
|
|
||||||
|
// 验证admin文件夹是否存在
|
||||||
|
echo "验证 ${DIST_PATH} 文件夹是否存在..."
|
||||||
|
sh """
|
||||||
|
if [ ! -d "${DIST_PATH}" ]; then
|
||||||
|
echo "错误:未找到预编译的 ${DIST_PATH} 文件夹,请确认代码仓库中已包含编译产物!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "${DIST_PATH} 文件夹验证通过"
|
||||||
|
"""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('安装依赖') {
|
stage('部署项目(复制admin内容)') {
|
||||||
steps {
|
steps {
|
||||||
sh '''
|
script {
|
||||||
echo "清理旧依赖..."
|
echo "开始部署到目标路径:${DEPLOY_DIR}"
|
||||||
rm -rf node_modules package-lock.json
|
|
||||||
npm cache clean --force
|
sh """
|
||||||
|
# 确保部署目录存在
|
||||||
echo "设置国内腾讯云镜像源加速..."
|
mkdir -p ${DEPLOY_DIR}
|
||||||
npm config set registry https://mirrors.cloud.tencent.com/npm/
|
|
||||||
|
# 清理目标目录旧文件(保留目录本身)
|
||||||
# 安装其他依赖
|
rm -rf ${DEPLOY_DIR}/*
|
||||||
npm install
|
|
||||||
'''
|
# 复制dist文件夹下的所有内容到部署目录
|
||||||
}
|
cp -r ${DIST_PATH}/* ${DEPLOY_DIR}/
|
||||||
}
|
|
||||||
|
echo "部署完成:${DIST_PATH} 内容已复制到 ${DEPLOY_DIR}"
|
||||||
stage('构建项目') {
|
"""
|
||||||
steps {
|
}
|
||||||
sh 'npm run build'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('部署项目') {
|
|
||||||
steps {
|
|
||||||
sh '''
|
|
||||||
# 公共部署逻辑(创建目录、清理、复制)
|
|
||||||
mkdir -p ${DEPLOY_DIR}
|
|
||||||
rm -rf ${DEPLOY_DIR}/*
|
|
||||||
cp -r admin/* ${DEPLOY_DIR}/
|
|
||||||
'''
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 流水线执行结果处理
|
||||||
post {
|
post {
|
||||||
success {
|
success {
|
||||||
echo '项目部署成功.'
|
echo "✅ 预编译dist文件夹部署成功"
|
||||||
}
|
}
|
||||||
failure {
|
failure {
|
||||||
echo '项目部署失败.'
|
echo "❌ 预编译dist文件夹部署失败,请查看日志排查问题"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user