Cloudbuild使用错误的服务帐户

时间:2020-10-27 08:10:23

标签: service-accounts google-cloud-build

我有一个云构建步骤,该步骤运行带有以下图像的2 gsutil命令:google/cloud-sdk:300.0.0-alpine. 在过去的几周中,我们注意到在某些情况下(随机运行的〜15%),第二个gsutil命令会收到以下错误:AccessDeniedException: 403 read-782@support-199113.iam.gserviceaccount.com does not have storage.objects.list access to the Google Cloud Storage bucket.

我不知道该服务帐户和项目ID是什么(support-199113)。 重新运行构建通常可以正常工作。 第一个gsutil命令总是成功。

这是步骤:

  - name: 'google/cloud-sdk:300.0.0-alpine'
    id: 'Loading gradle cache'
    entrypoint: 'sh'
    args:
      - '-c'
      - |
        fileName=${_IMAGE}_gradle_cache.tar.gz
        if gsutil -q stat gs://gradle_cache_${PROJECT_ID}/${fileName}; then
          echo 'Gradle cache found'
          cd /
          gsutil -m cp gs://gradle_cache_${PROJECT_ID}/${fileName} ${fileName}
          tar -xpzf ${fileName}
        else
          echo 'Gradle cache not found'
        fi
    volumes:
      - name: 'gradle_cache'
        path: /root/.gradle
    waitFor: ['-']
    timeout: 60s

顺便说一句,删除第一个gsutil命令即可解决问题

0 个答案:

没有答案