FireBase Cloud関数を介して このgithubアクション を展開しています。サービスアカウントを使用して自分のマシンから展開するとうまく機能します。同じサービスアカウントを使用してアクションを実行するとき、私は以下のエラーを満たしています。
最後のエラー:
エラー:ストレージソースのフェッチソースのエラー:Generic :: Unknown:Retry Budget Expeded(3回試行):GCSからの解凍元:GCSからのソースFETCHコンテナがゼロ以外のステータスで終了しました:9
前のログ:
中央ディレクトリ署名が見つかりません。このファイルはzipFileではないか、マルチパートアーカイブの1つのディスクを構成します。後者の場合、このアーカイブの最後のディスクに中央ディレクトリとzipfileコメントが見つかります。解凍:/tmp/source-archive.zipまたは/tmp/source-archive.zip.zipのいずれかにzipfileディレクトリが見つかりません。
これが私のアクションYMLです:
name: Deploy
on:
pull_request:
branches:
- master
jobs:
integration-test:
name: Run tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: checkout repo and set up Node.js v12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install dependencies
run: cd ./functions/ && npm install
- id: deploy
name: Deploy my_function to Cloud Functions
uses: google-github-actions/[email protected]
with:
name: my_function
runtime: nodejs12
credentials: ${{ secrets.GCP_ACCOUNT_JSON }}
source_dir: ./functions/
- id: echo_url
name: Echo deployed Cloud Function URL
run: echo ${{ steps.deploy.outputs.url }}
_
関数自体はGCSアクセスを必要としませんが、サービスアカウントはエディタであるため、とにかく機能します。この問題はGITHUBのソースコードがGCSにアップロードされ、そこから展開するように調達される方法との関係にあると思いますか?どんなヒントですか?
通常、これらの種類のシナリオはGitHubリポジトリのサイズに関連しています。現在リポジトリ全体のサイズ制限は500 MBのサイズがあります。その制限を超えると、ファイルの読み取りが終了し、結果のtarballが無効になり、そのため、操作を失敗させます。
公式クォータ のマニュアル を見てください。
私はちょうど1か月前に設定されたトリガーのためにGoogle Cloud Build&Githubの同じ問題を経験しました。
再試行すると、githubが認証された3回(03)回に気付いた。
トリガーを削除し、すぐに機能するように思われる新しいものを設定しました。
注:それはまた私がそれらのログに入っている別の問題を解決しました。クラウドビルドは、それらの秘密の権限を設定することを考えると、私が奇妙になることがわかった秘密管理者からの私の秘密にアクセスできなかった。