首页 > 解决方案 > Github Actions - GCloud 应用程序部署 app.yaml - 桶是请求者支付桶但没有提供用户项目

问题描述

我有一个带有 Gcloud 的 Github 操作,这个设置运行良好,3 个月后(没有更改)我运行了另一个部署/操作,但现在有一条消息:

桶是请求者支付桶但没有提供用户项目。

这个错误的原因是什么?

我再说一遍,这个动作运行良好,没有进行任何更改,只是在 3 个月后再次运行但失败了。

我当前的 Actions yaml 是:

name: Deploy to GCloud

on:
  push:
    branches:
      - master
      - qa

env:
  type: prod
  PROJECT_ID: ${{ secrets.GCE_PROJECT }}

jobs:
  setup-deploy:
    name: Setup and Deploy
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2

    - name: Setup gcloud environment
      uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
      with:
        version: '290.0.1'
        service_account_key: ${{ secrets.GCE_SA_KEY }}
        project_id: ${{ secrets.GCE_PROJECT }}

    - name: Auth helper
      run: |-
        gcloud --quiet auth configure-docker

    - name: Deploy
      run: |-
        gcloud app deploy app.${GITHUB_REF#refs/heads/}.yaml

截屏

标签: gcloudgithub-actions

解决方案


正如我在评论中分享的链接所说,您遇到的错误是因为在您用于部署的存储桶中启用了请求者付款。我最终尝试使用以下命令启用此功能,但遇到了与您相同的错误。

gsutil requesterpays set on gs://BUCKET_NAME

在启用请求者付款功能时,您必须考虑一些注意事项才能使用和访问存储桶。

如果在您收到错误之前很久就启用了此功能并且您突然开始收到错误,或者如果存储桶中未启用该功能(您可以执行此命令来验证它gsutil requesterpays get gs://BUCKET_NAME,您应该得到类似的东西gs://my-bucket: Enabled)并且您得到错误,我建议您向 Google 团队打开一个支持案例,看看您的问题。


推荐阅读