Compare commits

...

9 Commits
dev2 ... main

Author SHA1 Message Date
714aaf99b1 先删除从节点同步
先删除从节点同步

Signed-off-by: panjunjie <46790855@qq.com>
2025-11-12 00:29:26 +08:00
632fff2f27 重启 nginx
Signed-off-by: panjunjie <46790855@qq.com>
2025-11-10 01:15:58 +08:00
e8b7e24e85 增加从节点部署文件同步逻辑
增加从节点部署文件同步逻辑。

Signed-off-by: panjunjie <46790855@qq.com>
2025-11-10 01:08:24 +08:00
657a678671 更新 Jenkinsfile 2025-08-11 15:52:46 +08:00
f215c8677e 更新 Jenkinsfile 2025-08-11 15:01:00 +08:00
8dddbb730b 更新 Jenkinsfile 2025-08-11 14:55:57 +08:00
4da33e787a 更新 Jenkinsfile 2025-08-11 14:53:09 +08:00
4fe6b28e81 更新 Jenkinsfile
发布时屏蔽了 vab-contextmenu 这个包,原因是该包被检测到存在恶意行为(如窃取环境变量、删除文件等)。
2025-08-11 01:50:47 +08:00
fffbdce48e add Jenkinsfile for Jenkins deploy
add Jenkinsfile for Jenkins deploy

Signed-off-by: panjunjie <46790855@qq.com>
2025-08-11 01:39:17 +08:00

74
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,74 @@
pipeline {
agent any
tools {
nodejs 'NodeJS16'
}
environment {
DEPLOY_DIR = '/data/nginx/www/fafamall/demo' // 主节点部署目录
SLAVE_IP = '172.16.0.10' // 从节点 IP
SLAVE_DEPLOY_DIR = '/data/nginx/www/fafamall/demo' // 从节点目标目录(与主节点一致)
SSH_PORT = '2203' // 从节点 SSH 端口
SSH_KEY = '/root/.ssh/id_rsa' // Jenkins 服务器(主节点)免密私钥路径
DIST_PATH = 'dist' // 编译产物目录(与 npm run build 输出目录一致)
}
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'
// 验证构建产物是否存在(避免空同步)
sh """
[ -d "${DIST_PATH}" ] || { echo "错误:构建失败,未找到 ${DIST_PATH} 目录"; exit 1; }
echo "构建成功:${DIST_PATH} 目录存在"
"""
}
}
stage('主节点部署') {
steps {
sh '''
# 公共部署逻辑(创建目录、清理、复制)
mkdir -p ${DEPLOY_DIR}
rm -rf ${DEPLOY_DIR}/*
cp -r ${DIST_PATH}/* ${DEPLOY_DIR}/
echo "主节点部署完成:${DIST_PATH} → ${DEPLOY_DIR}"
'''
}
}
}
post {
success {
echo '🎉 项目部署+从节点同步全部成功!'
}
failure {
echo '❌ 项目部署/同步失败,请排查问题后重试!'
}
}
}