name: sync-assets # 手动触发:全量同步(含图片 / 音频 / 字体等素材)。 # 平时 push 只同步代码;改了素材后用这个跑一次。 on: workflow_dispatch: {} jobs: sync: 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: 拉取代码 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 git lfs pull - name: 全量同步到 NAS 并重建 run: | set -e tar czf - \ --exclude=.git \ --exclude='战役素材' \ --exclude='水墨遮罩' \ --exclude='客户成片' \ --exclude='artifacts' \ 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 "全量同步完成"