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)へのアップロードを検討してください。

ユースケース

ジョブ間でビルド出力を受け渡す必要がある場合、マージリクエストの可視性のためにテストレポートを保存する場合、失敗したパイプラインのデバッグログを保持する場合にアーティファクトを使用します。

試してみる — GitLab CI Config Generator

フルツールを開く