Files
digital-me-history/.gitea/workflows/deploy.yml
T
2026-10-10 16:39:40 +08:00

59 lines
2.2 KiB
YAML
Raw 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.
name: deploy-digital-me
# push 到 main → 只同步「代码 / 逻辑」,图片·音频·字体等素材留在 NAS 上不重复传。
# 目标:http://192.168.110.4:8090
# 改了素材(图片/音乐/字体)请手动运行 Sync Assets 工作流做一次全量同步。
on:
push:
branches: [main]
paths-ignore:
- '战役素材/**'
- '水墨遮罩/**'
- '客户成片/**'
- 'artifacts/**'
workflow_dispatch: {}
jobs:
deploy:
runs-on: ubuntu-latest
env:
TZ: Asia/Shanghai
GITEA_URL: http://192.168.110.4:3000
REPO_PATH: admin/digital-me-history
TARGET_DIR: /volume1/docker/digital-me
NAS: 18702851751@192.168.110.4
steps:
- name: 拉取代码(直接从 Gitea,不依赖 github)
run: |
set -e
git config --global --add safe.directory '*'
git clone --depth 1 "${GITEA_URL}/${REPO_PATH}.git" .
- name: 只拉可能随代码变化的 LFS 产物
run: |
set -e
apt-get update -qq
apt-get install -y -qq git-lfs
git lfs install
# 只拉 *.bundle.js 这类代码产物;图片/音频/字体不拉
git lfs pull --include='*.bundle.js' || true
- name: 同步代码到 NAS 并重建(媒体素材不动)
run: |
set -e
tar czf - \
--exclude=.git \
--exclude='*.png' --exclude='*.jpg' --exclude='*.jpeg' --exclude='*.gif' \
--exclude='*.webp' --exclude='*.bmp' --exclude='*.ico' \
--exclude='*.ttf' --exclude='*.otf' --exclude='*.woff' --exclude='*.woff2' \
--exclude='*.m4a' --exclude='*.mp3' --exclude='*.wav' \
--exclude='*.mp4' --exclude='*.mov' --exclude='*.webm' \
--exclude='*.psd' \
digital-me-web digital-me-backend compose.yaml \
| ssh -i /root/.ssh/nas_ci \
-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR \
"${NAS}" \
"mkdir -p $TARGET_DIR && tar xzf - -C $TARGET_DIR && cd $TARGET_DIR && sudo -n /usr/local/bin/docker compose up -d --build"
echo "部署完成(仅代码)"