Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Failing after 3m13s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
47 lines
1.3 KiB
Bash
47 lines
1.3 KiB
Bash
#!/bin/bash
|
||
# 將 awoooi-startup 部署到 192.168.0.188
|
||
# 執行方式: bash deploy-to-188.sh
|
||
|
||
set -euo pipefail
|
||
HOST="${HOST:-ollama@192.168.0.188}"
|
||
|
||
echo "=== 部署 awoooi-startup 到 192.168.0.188 ==="
|
||
|
||
# 1. 上傳腳本
|
||
echo "[1/4] 上傳啟動腳本..."
|
||
scp awoooi-startup.sh "$HOST:/tmp/awoooi-startup.sh"
|
||
|
||
# 2. 上傳 systemd unit
|
||
echo "[2/4] 上傳 systemd unit..."
|
||
scp awoooi-startup.service "$HOST:/tmp/awoooi-startup.service"
|
||
|
||
# 3. 安裝
|
||
echo "[3/4] 安裝..."
|
||
ssh "$HOST" 'set -euo pipefail
|
||
if sudo -n true >/dev/null 2>&1; then
|
||
SUDO="sudo -n"
|
||
elif [ "${AWOOOI_ALLOW_INTERACTIVE_SUDO:-0}" = "1" ] && [ -t 0 ]; then
|
||
SUDO="sudo"
|
||
else
|
||
echo "BLOCKED sudo_password_required_passwordless_sudo_or_tty_required" >&2
|
||
exit 77
|
||
fi
|
||
|
||
$SUDO install -m 0755 /tmp/awoooi-startup.sh /usr/local/bin/awoooi-startup.sh
|
||
$SUDO install -m 0644 /tmp/awoooi-startup.service /etc/systemd/system/awoooi-startup.service
|
||
$SUDO systemctl daemon-reload
|
||
$SUDO systemctl enable awoooi-startup.service
|
||
echo done
|
||
'
|
||
|
||
# 4. 驗證
|
||
echo "[4/4] 驗證安裝..."
|
||
ssh "$HOST" "systemctl is-enabled awoooi-startup.service && echo '✅ 已啟用' || echo '❌ 啟用失敗'"
|
||
|
||
echo ""
|
||
echo "✅ 部署完成!"
|
||
echo "下次重開機後,188 會自動執行修復並啟動所有服務。"
|
||
echo ""
|
||
echo "手動測試執行:"
|
||
echo " ssh $HOST 'sudo /usr/local/bin/awoooi-startup.sh'"
|