48 lines
1.5 KiB
YAML
48 lines
1.5 KiB
YAML
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 "全量同步完成"
|