From 714aaf99b1eee31763cef9e4f803174193e09dbf Mon Sep 17 00:00:00 2001 From: panjunjie <46790855@qq.com> Date: Wed, 12 Nov 2025 00:29:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=88=E5=88=A0=E9=99=A4=E4=BB=8E=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 先删除从节点同步 Signed-off-by: panjunjie <46790855@qq.com> --- Jenkinsfile | 59 +---------------------------------------------------- 1 file changed, 1 insertion(+), 58 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9cb065c..305cac2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -60,64 +60,7 @@ pipeline { } } - stage('同步到从节点') { - steps { - sh """ - # 核心逻辑:1. 远程创建从节点目录 2. rsync 同步文件(保持主从一致) - echo "========================================" - echo "开始同步主节点 → 从节点" - echo "主节点目录:${DEPLOY_DIR}" - echo "从节点信息:${SLAVE_IP}:${SLAVE_DEPLOY_DIR}(SSH端口:${SSH_PORT})" - echo "========================================" - - # 步骤1:远程创建从节点目标目录(-p 递归创建,已存在不报错) - echo "第一步:创建从节点目标目录..." - ssh -i ${SSH_KEY} \ - -p ${SSH_PORT} \ - -o StrictHostKeyChecking=no \ - -o ConnectTimeout=10 \ - root@${SLAVE_IP} \ - "mkdir -p ${SLAVE_DEPLOY_DIR}" - - # 检查目录创建结果 - if [ \$? -ne 0 ]; then - echo "错误:从节点目录创建失败!请检查:" - echo "1. 主节点是否免密登录从节点(私钥路径:${SSH_KEY})" - echo "2. 从节点 SSH 端口 ${SSH_PORT} 是否放行" - echo "3. 从节点 root 权限是否足够" - exit 1 - fi - - # 步骤2:rsync 同步文件(核心同步逻辑) - echo "第二步:开始 rsync 同步文件..." - rsync -avz \ - --delete \ - --exclude="*.log" \ - --exclude="node_modules" \ - -e "ssh -i ${SSH_KEY} -p ${SSH_PORT} -o StrictHostKeyChecking=no" \ - ${DEPLOY_DIR}/ \ - root@${SLAVE_IP}:${SLAVE_DEPLOY_DIR}/ - - # 步骤3:远程重启从节点 Nginx(加载新代码) - echo "第三步:重启从节点 Nginx 服务..." - ssh -i ${SSH_KEY} \ - -p ${SSH_PORT} \ - -o StrictHostKeyChecking=no \ - -o ConnectTimeout=10 \ - root@${SLAVE_IP} \ - "systemctl restart nginx" - - # 检查 Nginx 重启结果(容错处理:重启失败不终止流程,仅告警) - if [ \$? -eq 0 ]; then - echo "✅ 从节点 Nginx 重启成功!新代码已生效" - else - echo "⚠️ 警告:从节点 Nginx 重启失败!请手动执行以下命令排查:" - echo "ssh -i ${SSH_KEY} -p ${SSH_PORT} root@${SLAVE_IP} 'systemctl status nginx'" - echo "(同步已完成,仅 Nginx 重启失败,不影响代码一致性)" - fi - """ - } - } + } post {