ci: Gitea Actions 流水线(push 自动部署局域网,云端手动审核发布)
All checks were successful
部署-局域网 / deploy (push) Successful in 3s
All checks were successful
部署-局域网 / deploy (push) Successful in 3s
This commit is contained in:
34
.gitea/workflows/deploy-cloud.yml
Normal file
34
.gitea/workflows/deploy-cloud.yml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
name: 发布-云端
|
||||||
|
# 仅人工触发(Gitea 网页 Actions 页点 Run workflow)= 审核发布
|
||||||
|
on:
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: build-runner
|
||||||
|
steps:
|
||||||
|
- name: 拉取代码
|
||||||
|
run: |
|
||||||
|
git clone --depth 1 "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: 发布到 ubuntu3(公网 www.shashann.com)
|
||||||
|
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 124.222.157.76 >> ~/.ssh/known_hosts 2>/dev/null
|
||||||
|
cd site
|
||||||
|
ssh ubuntu@124.222.157.76 'mkdir -p /var/www/shashann-homepage && find /var/www/shashann-homepage -mindepth 1 -maxdepth 1 -exec rm -rf {} +'
|
||||||
|
tar czf - index.html assets | ssh ubuntu@124.222.157.76 'tar xzf - -C /var/www/shashann-homepage'
|
||||||
|
|
||||||
|
- name: 上线验证
|
||||||
|
run: |
|
||||||
|
curl -s -f -o /dev/null --resolve www.shashann.com:443:124.222.157.76 https://www.shashann.com/ || { echo "❌ 公网验证失败"; exit 1; }
|
||||||
|
echo "✅ 云端已发布 $(date '+%H:%M:%S')"
|
||||||
36
.gitea/workflows/deploy-lan.yml
Normal file
36
.gitea/workflows/deploy-lan.yml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
name: 部署-局域网
|
||||||
|
# push 到 main 即自动上线 51.66(无人工环节)
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: build-runner
|
||||||
|
steps:
|
||||||
|
- name: 拉取代码
|
||||||
|
run: |
|
||||||
|
git clone --depth 1 "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 | 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')"
|
||||||
Reference in New Issue
Block a user