NeoShowcase icon indicating copy to clipboard operation
NeoShowcase copied to clipboard

[Feature]: buildpack helperへのfile tree copyをstream処理に変更する

Open pirosiki197 opened this issue 9 months ago • 0 comments

問題の説明

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

pirosiki197 avatar May 02 '25 17:05 pirosiki197