Open
Description
問題の説明
buildpack helperにビルドに必要なソースコード(リポジトリ)を渡す際に tarファイルをbytes
として送っている。
https://github.com/traPtitech/NeoShowcase/blob/v1.7.12/api/proto/neoshowcase/protobuf/controller.proto#L96
これではサイズの大きなリポジトリを扱う際にメモリの使用量が大きくなってしまう。
新機能の説明
tarファイルを一括で送信するのではなく、streamで段階的に送るようにする。
その他の案
- gRPCをやめてHTTPの
multipart/form-data
を使う- gRPCを使うより実装自体は簡単
- 既存のgPRCとの混在により、構成が複雑になる
- gzipなどで圧縮する
- 画像ファイルの多いリポジトリでは圧縮率が悪く、根本的解決にならない
参考資料
No response