Files
homepage/deploy/lan.sh
dafe adb1328b75
All checks were successful
CI-CD-2 / test (push) Successful in 2s
CI-CD-2 / deploy-lan (push) Successful in 3s
CI-CD-2 / deploy-cloud (push) Has been skipped
feat(ci): 试点规范 2(test → LAN → 手动 ubuntu2)
2026-11-10 14:46:47 +08:00

31 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# 发布到局域网 192.168.51.66:/home/ubuntu/homepage-site
set -euo pipefail
cd "$(dirname "$0")/.."
STAMP="${GITEA_SHA:0:8}"
[ -n "$STAMP" ] || { echo "GITEA_SHA 为空"; exit 1; }
python3 - "$STAMP" <<'PY'
import re
import sys
stamp = sys.argv[1]
path = "index.html"
html = open(path, encoding="utf-8").read()
html = re.sub(r'(assets/css/style\.css)\?v=[^"\']*', r"\1?v=" + stamp, html)
html = re.sub(r'(assets/js/main\.js)\?v=[^"\']*', r"\1?v=" + stamp, html)
open(path, "w", encoding="utf-8").write(html)
PY
mkdir -p ~/.ssh && chmod 700 ~/.ssh
printf '%s\n' "${DEPLOY_SSH_KEY:?DEPLOY_SSH_KEY 未配置}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -H 192.168.51.66 >> ~/.ssh/known_hosts 2>/dev/null || true
ssh ubuntu@192.168.51.66 'mkdir -p /home/ubuntu/homepage-site && find /home/ubuntu/homepage-site -mindepth 1 -maxdepth 1 -exec rm -rf {} +'
tar czf - index.html assets robots.txt sitemap.xml llms.txt \
| ssh ubuntu@192.168.51.66 'tar xzf - -C /home/ubuntu/homepage-site'
echo "局域网已发布 ${STAMP}"