feat(ci): 试点规范 2(test → LAN → 手动 ubuntu2)
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

This commit is contained in:
2026-11-10 14:46:47 +08:00
parent 6d590673ae
commit adb1328b75
8 changed files with 271 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
name: 部署-局域网
# 合并/推送到 main 即自动上线 51.66(集成分支 = 内部预发布环境)
# feature 分支的 push 不触发,开发期不影响线上
on:
push:
branches: [main]
jobs:
deploy:
runs-on: build-runner
steps:
- name: 拉取代码
run: |
git clone --depth 1 --branch "${GITHUB_REF_NAME}" "http://dafe:${{ secrets.GITHUB_TOKEN }}@192.168.51.66:3000/dafe/homepage.git" site
- name: 注入构建版本号(缓存击穿,版本=commit 短 SHA)
run: |
cd site
sed -i "s/?v=[0-9]*/?v=${GITHUB_SHA:0:8}/g" index.html
- name: 部署到 51.66
env:
DEPLOY_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
run: |
mkdir -p ~/.ssh && chmod 700 ~/.ssh
printf '%s\n' "$DEPLOY_KEY" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -H 192.168.51.66 >> ~/.ssh/known_hosts 2>/dev/null
cd site
# 清空后解压 = rsync --delete 的等效语义,服务器与 git 状态严格一致
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'
- name: 上线验证
run: |
curl -sk -f -o /dev/null https://192.168.51.66/homepage/ || { echo "❌ 局域网验证失败"; exit 1; }
echo "✅ 局域网已上线 $(date '+%H:%M:%S')"