GitLab CIパイプラインでのアーティファクト管理
テストレポート、ビルド出力、ジョブ間ファイル共有のためのGitLab CIアーティファクト設定。paths、expire_in、reports、when条件をカバー。
Caching & Artifacts
詳細な説明
GitLab CIでのアーティファクト管理
アーティファクトはジョブによって作成され、GitLabサーバーに保存されるファイルです。ダウンロード、GitLab UIでの閲覧、下流ジョブへの受け渡しが可能です。
基本的なアーティファクト設定
build:
script: npm run build
artifacts:
paths:
- dist/
expire_in: 1 week
テストレポート
test:
script: pytest --junitxml=report.xml
artifacts:
reports:
junit: report.xml
JUnitレポートはマージリクエストに表示されます。
条件付きアーティファクト
when: alwaysはジョブが失敗してもアーティファクトがアップロードされることを保証します。テストレポートやログに重要です。
サイズ制限
GitLabはプロジェクトごとにアーティファクトサイズ制限を設定しています(GitLab.comのデフォルトは100MB)。大きなアーティファクトの場合は、スクリプトから外部ストレージ(S3、GCS)へのアップロードを検討してください。
ユースケース
ジョブ間でビルド出力を受け渡す必要がある場合、マージリクエストの可視性のためにテストレポートを保存する場合、失敗したパイプラインのデバッグログを保持する場合にアーティファクトを使用します。