我創建了一個具有該roles/storageAdmin角色的 GCP 服務帳戶。
我在本地進行了如下測驗:
$ gcloud auth activate-service-account --key-file=myfile.json
$ gcloud auth configure-docker
$ docker push gcr.io/my-project-id/echoserver:1.0.1
然后,我使用此檔案的內容創建一個 repo-level secret,GCR_SECRET并運行以下操作
- name: build and push to staging gcr
id: stg_img_build
uses: RafikFarhad/push-to-gcr-github-action@v4
with:
gcloud_service_key: ${{ secrets.GCR_SECRET }}
registry: gcr.io
project_id: $STAGING_GCR_PROJECT
image_name: ${{ github.event.inputs.image_name }}
image_tag: ${{ github.event.inputs.image_tag }}
這失敗如下:
Error response from daemon: Get "https://gcr.io/v2/": unknown: Unable to parse json key.
這可能是什么原因造成的?
uj5u.com熱心網友回復:
我鼓勵您考慮Workload Identity Federation,因為這將使您能夠使用 Google 服務帳戶將身份驗證聯合到 GitHub 操作。
請參閱從 GitHub Actions 啟用無密鑰身份驗證。
如果您想使用RafikFarhad/push-to-gcr-github-action,請注意在將密鑰持久化到 repo 之前對密鑰進行 base64 編碼的要求。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/490907.html
