GitHub Actionsのアーティファクト容量を管理する retention-days設定

はじめに

GitHub Actionsでビルド成果物やデプロイ用のファイルをアーティファクトとしてアップロードする際、適切な保持期間を設定しないと、リポジトリの容量を圧迫してしまう問題が発生します。

特にデプロイ時に一時的に使用するだけのファイルは、長期間保存する必要がないため、retention-daysオプションを使用して自動削除の設定を行うことが推奨されます。

本記事では、GitHub Actionsのアーティファクト管理における retention-days の設定方法と、そのベストプラクティスについて解説します。

アーティファクトの容量問題

GitHub Actionsでアップロードされたアーティファクトは、デフォルトで90日間保持されます。

ビルドやデプロイを頻繁に実行するプロジェクトでは、この90日間で大量のアーティファクトが蓄積され、以下のような問題が発生する可能性があります。

  • ストレージ容量の圧迫: リポジトリのストレージ制限に達する
  • コスト増加: GitHub Proや組織アカウントでは、ストレージ容量に応じて課金される
  • 管理の煩雑化: 不要なアーティファクトの手動削除が必要になる

retention-daysの設定方法

actions/upload-artifact@v4 アクションでは、retention-days パラメータを使用して、アーティファクトの保持期間を日数で指定できます。

基本的な設定例

デプロイ時に一時的に使用するビルド成果物の場合、5日程度の保持期間で十分です。

- name: 'Upload Artifact'
  uses: actions/upload-artifact@v4
  with:
    name: build-artifact
    path: build.zip
    retention-days: 5

パラメータの詳細

  • name: アーティファクトの識別名
  • path: アップロードするファイルまたはディレクトリのパス
  • retention-days: 保持期間(日数)。

まとめ

GitHub Actionsのアーティファクトは、適切な retention-days 設定を行わないと、容量を圧迫してしまう可能性があります。

特にデプロイ用の一時ファイルは、5〜7日程度の短期間で自動削除されるように設定することで、ストレージ容量とコストの最適化が可能です。

本記事で紹介した設定例を参考に、プロジェクトの用途に応じた適切な保持期間を設定してください。