Nik*_*mar 27 google-cloud-platform github-actions google-artifact-registry
我正在尝试将 docker 容器推送到 GCP 上的 ArtifactRegistry,但我在步骤中遇到错误Push Docker Image to Artifact Registry
拒绝:资源“projects/PROJECT_ID/locations/asia-south1/repositories/images”的权限“artifactregistry.repositories.uploadArtifacts”被拒绝(或者可能不存在)错误:进程已完成,退出代码为1。
name: Build image and push to Artifact Registry of GCP
on:
push:
branches:
- master
jobs:
build-push-artifact:
name : Build and push Artifact Registry
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- id: 'auth'
uses: 'google-github-actions/auth@v1'
with:
credentials_json: '${{ secrets.ACCOUNT_KEY }}'
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@v1'
- name: 'Use gcloud CLI'
run: 'gcloud info'
- name: build Docker Image
run: docker build -t MY_IMAGE:latest .
- name: Configure Docker Client of Gcloud
run: |-
gcloud auth configure-docker --quiet
gcloud auth configure-docker asia-south1-docker.pkg.dev --quiet
- name: Push Docker Image to Artifact Registry
env:
GIT_TAG: v0.1.0
run: |-
docker tag MY_IMAGE:latest asia-south1-docker.pkg.dev/PROJECT_ID/images/MY_IMAGE:latest
docker tag MY_IMAGE:latest asia-south1-docker.pkg.dev/PROJECT_ID/images/MY_IMAGE:$GIT_TAG
docker push asia-south1-docker.pkg.dev/PROJECT_ID/images/MY_IMAGE:latest
docker push asia-south1-docker.pkg.dev/PROJECT_ID/images/MY_IMAGE:$GIT_TAG
Run Code Online (Sandbox Code Playgroud)
我还使用服务电子邮件将 Artifact Registry Write 主体添加到存储库。除最后一步外,所有其他步骤均成功执行。我该如何修复它?
Rom*_*nko 57
好吧,我现在花了很多时间在这上面,有两种可能的解决方案:
gcloud auth logingcloud auth configure-docker europe-west1-docker.pkg.dev确保指定适当的区域)第二个为我做到了。
最后这对我有用。我也面临着上述 Artifact 注册表问题。
所以在执行docker Push之前,我做了身份验证。文档中没有确切提到此步骤,但这对我有用。
gcloud auth print-access-token | docker login -u oauth2accesstoken --password-stdin https://us-central1-docker.pkg.dev
Run Code Online (Sandbox Code Playgroud)
注意:- 更改您的区域。
| 归档时间: |
|
| 查看次数: |
24009 次 |
| 最近记录: |