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日程度の短期間で自動削除されるように設定することで、ストレージ容量とコストの最適化が可能です。
本記事で紹介した設定例を参考に、プロジェクトの用途に応じた適切な保持期間を設定してください。