Fix docker login credential helper issue in CI
build / build-and-push (push) Successful in 12s

This commit is contained in:
nick
2026-07-12 06:23:20 +08:00
parent bc816c0925
commit f90e118493
+11 -1
View File
@@ -10,7 +10,17 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Log in to Gitea container registry - 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 容器繼承了 hostOrbStack)的 ~/.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 - 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 . run: docker build -t gitea.niq-dev.com/gitea_admin/landing:${{ gitea.sha }} -t gitea.niq-dev.com/gitea_admin/landing:latest .