先去掉从节点同步
先去掉从节点同步 Signed-off-by: panjunjie <46790855@qq.com>
This commit is contained in:
parent
148a4ab1ce
commit
be7241de34
48
Jenkinsfile
vendored
48
Jenkinsfile
vendored
@ -32,53 +32,7 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('同步到从节点') {
|
||||
steps {
|
||||
sh """
|
||||
# 核心逻辑:1. 远程创建从节点目录(不存在则创建) 2. rsync 同步文件
|
||||
echo "开始同步主节点 ${DEPLOY_DIR} → 从节点 ${SLAVE_IP}:${SLAVE_DEPLOY_DIR}"
|
||||
|
||||
# 步骤1:远程创建从节点目标目录(-p 递归创建父目录,已存在不报错)
|
||||
ssh -i ${SSH_KEY} -p ${SSH_PORT} -o StrictHostKeyChecking=no root@${SLAVE_IP} "mkdir -p ${SLAVE_DEPLOY_DIR}"
|
||||
if [ \$? -ne 0 ]; then
|
||||
echo "错误:从节点目录创建失败,请检查 SSH 免密/端口/权限"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤2:rsync 同步文件(保持主从一致)
|
||||
rsync -avz --delete \
|
||||
-e "ssh -i ${SSH_KEY} -p ${SSH_PORT} -o StrictHostKeyChecking=no" \
|
||||
${DEPLOY_DIR}/ \
|
||||
root@${SLAVE_IP}:${SLAVE_DEPLOY_DIR}/
|
||||
|
||||
# 验证同步结果
|
||||
if [ \$? -eq 0 ]; then
|
||||
echo "✅ 从节点同步完成!主从目录已一致"
|
||||
else
|
||||
echo "❌ 从节点同步失败,请查看 Jenkins 控制台日志"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤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 {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user