ci: 改为 NAS 本地 git pull + 重建(代码不再中转),删除多余的素材同步工作流
deploy-digital-me / deploy (push) Successful in 2m28s
deploy-digital-me / deploy (push) Successful in 2m28s
This commit is contained in:
+10
-45
@@ -1,59 +1,24 @@
|
||||
name: deploy-digital-me
|
||||
|
||||
# push 到 main → 只同步「代码 / 逻辑」,图片·音频·字体等素材留在 NAS 上不重复传。
|
||||
# push 到 main → 触发 NAS 上的部署脚本:
|
||||
# 在 NAS 的 git 工作副本里 git pull(只拉增量)+ docker compose up -d --build
|
||||
# 代码不再经由 runner 中转;素材(图片/音频/字体)随 pull 只更新变化的部分。
|
||||
# 目标: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)
|
||||
- name: 触发 NAS 部署(git pull + 重建)
|
||||
run: |
|
||||
set -e
|
||||
git config --global --add safe.directory '*'
|
||||
git clone --depth 1 "${GITEA_URL}/${REPO_PATH}.git" .
|
||||
|
||||
- name: 只拉可能随代码变化的 LFS 产物
|
||||
run: |
|
||||
set -e
|
||||
# 用 runner 预置的 git-lfs(挂在 /ci-bin),免去每次 apt-get 安装
|
||||
export PATH="/ci-bin:$PATH"
|
||||
git lfs version
|
||||
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 "部署完成(仅代码)"
|
||||
ssh -i /root/.ssh/nas_ci \
|
||||
-o StrictHostKeyChecking=no \
|
||||
-o UserKnownHostsFile=/dev/null \
|
||||
-o LogLevel=ERROR \
|
||||
18702851751@192.168.110.4 \
|
||||
'bash /volume1/docker/scripts/deploy-digital-me.sh'
|
||||
|
||||
Reference in New Issue
Block a user