Files
awoooi/scripts/reboot-recovery/deploy-to-110.sh
Your Name 214f4c1e88
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / build-and-deploy (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / tests (push) Has been cancelled
fix(recovery): include 110 controlled lane verifier
2026-06-30 21:41:53 +08:00

67 lines
3.5 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 將 awoooi-startup-110 + harbor-watchdog 部署到 192.168.0.110
# 2026-04-05 Claude Code: 加入 harbor-watchdog運行中崩潰自動恢復
# 執行方式: bash scripts/reboot-recovery/deploy-to-110.sh
#
# 前提: 執行端已 ssh-copy-id wooo@192.168.0.110
# 且 wooo 有 sudoers NOPASSWD 權限feedback_cd_security_nopasswd.md
set -euo pipefail
HOST="wooo@192.168.0.110"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
echo "=== 部署 awoooi-startup-110 + harbor-watchdog 到 192.168.0.110 ==="
# 1. 上傳腳本
echo "[1/5] 上傳啟動腳本..."
scp "$SCRIPT_DIR/awoooi-startup-110.sh" "$HOST:/tmp/awoooi-startup-110.sh"
scp "$SCRIPT_DIR/awoooi-startup-110.service" "$HOST:/tmp/awoooi-startup-110.service"
scp "$SCRIPT_DIR/repair-110-ssh-publickey-auth-local.sh" "$HOST:/tmp/repair-110-ssh-publickey-auth-local.sh"
scp "$SCRIPT_DIR/recover-110-control-path-and-harbor-local.sh" "$HOST:/tmp/recover-110-control-path-and-harbor-local.sh"
scp "$ROOT_DIR/ops/runner/check-awoooi-110-controlled-cd-lane-readiness.sh" "$HOST:/tmp/check-awoooi-110-controlled-cd-lane-readiness.sh"
# 2. 上傳 watchdog
echo "[2/5] 上傳 harbor-watchdog..."
scp "$SCRIPT_DIR/harbor-watchdog.sh" "$HOST:/tmp/harbor-watchdog.sh"
scp "$SCRIPT_DIR/harbor-watchdog.service" "$HOST:/tmp/harbor-watchdog.service"
# 3. 安裝 startup service
echo "[3/5] 安裝 startup service..."
ssh "$HOST" "sudo cp /tmp/awoooi-startup-110.sh /usr/local/bin/awoooi-startup-110.sh && \
sudo chmod +x /usr/local/bin/awoooi-startup-110.sh && \
sudo cp /tmp/repair-110-ssh-publickey-auth-local.sh /usr/local/bin/repair-110-ssh-publickey-auth-local.sh && \
sudo chmod +x /usr/local/bin/repair-110-ssh-publickey-auth-local.sh && \
sudo cp /tmp/recover-110-control-path-and-harbor-local.sh /usr/local/bin/recover-110-control-path-and-harbor-local.sh && \
sudo chmod +x /usr/local/bin/recover-110-control-path-and-harbor-local.sh && \
sudo cp /tmp/check-awoooi-110-controlled-cd-lane-readiness.sh /usr/local/bin/check-awoooi-110-controlled-cd-lane-readiness.sh && \
sudo chmod +x /usr/local/bin/check-awoooi-110-controlled-cd-lane-readiness.sh && \
sudo cp /tmp/awoooi-startup-110.service /etc/systemd/system/awoooi-startup-110.service && \
sudo systemctl daemon-reload && \
sudo systemctl enable awoooi-startup-110.service && \
echo 'startup OK'"
# 4. 安裝 watchdog service立即啟動
echo "[4/5] 安裝並啟動 harbor-watchdog..."
ssh "$HOST" "sudo cp /tmp/harbor-watchdog.sh /usr/local/bin/harbor-watchdog.sh && \
sudo chmod +x /usr/local/bin/harbor-watchdog.sh && \
sudo cp /tmp/harbor-watchdog.service /etc/systemd/system/harbor-watchdog.service && \
sudo systemctl daemon-reload && \
sudo systemctl enable harbor-watchdog.service && \
sudo systemctl restart harbor-watchdog.service && \
echo 'watchdog OK'"
# 5. 驗證
echo "[5/5] 驗證..."
ssh "$HOST" "sudo systemctl is-active harbor-watchdog.service && echo '✅ harbor-watchdog active' || echo '❌ harbor-watchdog 失敗'"
ssh "$HOST" "sudo systemctl is-enabled awoooi-startup-110.service && echo '✅ startup-110 enabled' || echo '❌ startup-110 未啟用'"
echo ""
echo "✅ 部署完成!"
echo ""
echo "harbor-watchdog: 每 60 秒檢查 Harbor 健康,不健康自動修復"
echo "startup-110: 下次重開機後自動恢復所有服務"
echo ""
echo "查看 watchdog 狀態:"
echo " ssh $HOST 'journalctl -u harbor-watchdog.service -f'"