ci: deploy via direct mount, drop nas-infra clone
Build Docker Image / build (push) Has been cancelled
Build Docker Image / deploy (push) Has been cancelled

Deploy job now cd's into /volume1/docker/compose/obsidian-mcp (exposed
to runner via the new gitea-runner mount) instead of cloning nas-infra
to a temp dir. The clone approach couldn't deploy because .env.shared
is gitignored and only exists on NAS.
This commit is contained in:
2026-05-16 17:24:23 +08:00
parent 6c0b9c66af
commit 6494684273
+5 -17
View File
@@ -97,7 +97,10 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
# deploy job 跑在独立 runner 容器上,凭据不从 build job 继承,必须再登一次
# 不再 clone nas-infradeploy 直接操作 NAS 上 /volume1/docker/compose/obsidian-mcp/。
# 该目录由 gitea-runner 挂载暴露给 runnerhost 模式 + bind mount)。
# .env.shared 也在那一层(../.env.shared),不需要再注入凭据。
# nas-infra 的 compose 改动靠 NAS 上手动 `git pull` 同步,不进 CI 链路。
- name: Login to Gitea Container Registry
uses: docker/login-action@v3
with:
@@ -106,26 +109,11 @@ jobs:
password: ${{ secrets.PACKAGES_TOKEN }}
- name: Pull and restart obsidian-mcp
env:
NAS_INFRA_TOKEN: ${{ secrets.NAS_INFRA_TOKEN }}
run: |
set -e
TMPDIR=$(mktemp -d)
trap 'rm -rf "$TMPDIR"' EXIT
if [ -n "$NAS_INFRA_TOKEN" ]; then
CLONE_URL="https://x-access-token:${NAS_INFRA_TOKEN}@git.zhengchentao.win/dev/nas-infra.git"
else
CLONE_URL="https://git.zhengchentao.win/dev/nas-infra.git"
fi
git clone --depth 1 "$CLONE_URL" "$TMPDIR/nas-infra"
cd "$TMPDIR/nas-infra/obsidian-mcp"
cd /volume1/docker/compose/obsidian-mcp
docker compose pull
docker compose up -d
sleep 3
docker compose ps
docker compose logs --tail=30 obsidian-mcp