From 9ef0e62b05a7afcf8d233d1c4d189f0859795bf3 Mon Sep 17 00:00:00 2001 From: Zhengchen Tao Date: Sat, 2 May 2026 23:39:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20=E5=8A=A0=20docker=20login=20?= =?UTF-8?q?=E6=AD=A5=E9=AA=A4=EF=BC=8C=E5=90=A6=E5=88=99=20pull=20?= =?UTF-8?q?=E7=A7=81=E6=9C=89=20registry=20401?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit build-image 跑过 docker login,但 deploy 是独立 workflow 容器, 凭据不继承。需要在 deploy 这边也登一次同一个 PACKAGES_TOKEN。 deploy.yml 在 paths-ignore 里,这次提交不会触发 build。但会触发 deploy 自己(不在 paths-ignore,且 workflow_dispatch 仍可手动)。 要测的话手动 dispatch Deploy Docker Image 即可。 --- .gitea/workflows/deploy.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 526085e3..702764fa 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -23,6 +23,16 @@ jobs: # 第一个条件保证手动跑也能继续 if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }} steps: + # 登录 Gitea Container Registry,否则 docker compose pull 私有镜像 401。 + # 跟 build-image.yml 那步是同一个 PACKAGES_TOKEN,但每个 workflow 容器 + # 是干净环境,凭据不会从 build 步骤继承过来,必须在这里再登一次。 + - name: Login to Gitea Container Registry + uses: docker/login-action@v3 + with: + registry: git.zhengchentao.win + username: ${{ gitea.actor }} + password: ${{ secrets.PACKAGES_TOKEN }} + - name: Pull and restart ezbookkeeping # 部署逻辑直接内联在这。runner 容器挂了 host docker.sock, # 所以这里 docker 命令直接操作的是宿主机 docker daemon,