From f90e118493f09ce3e4f302d7d179ce062014fb9e Mon Sep 17 00:00:00 2001 From: nick Date: Sun, 12 Jul 2026 06:23:20 +0800 Subject: [PATCH] Fix docker login credential helper issue in CI --- .gitea/workflows/build.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 0e2f0f9..b03769d 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -10,7 +10,17 @@ jobs: - uses: actions/checkout@v4 - name: Log in to Gitea container registry - run: echo "${{ secrets.CI_REGISTRY_TOKEN }}" | docker login gitea.niq-dev.com -u "${{ gitea.actor }}" --password-stdin + # job 容器繼承了 host(OrbStack)的 ~/.docker/config.json, + # 裡面設定 credsStore: osxkeychain,但容器是 Linux 環境, + # 沒有 macOS 專屬的 docker-credential-osxkeychain 可執行 + # 檔,docker login 會找不到它而失敗。移除這個 credsStore + # 設定,讓 docker login 改用純文字存憑證(寫進 job 容器 + # 內的 ~/.docker/config.json,容器本身就是一次性的,跑完 + # job 就銷毀,不像本機長期環境需要 Keychain 加密)。 + run: | + mkdir -p ~/.docker + echo '{}' > ~/.docker/config.json + echo "${{ secrets.CI_REGISTRY_TOKEN }}" | docker login gitea.niq-dev.com -u "${{ gitea.actor }}" --password-stdin - name: Build image run: docker build -t gitea.niq-dev.com/gitea_admin/landing:${{ gitea.sha }} -t gitea.niq-dev.com/gitea_admin/landing:latest .