正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

リリースエビデンス

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

リリースが作成されるたびに、GitLabは関連するデータのスナップショットを取得します。このデータはJSONファイルに保存され、リリースエビデンスと呼ばれます。この機能には、テストアーティファクトとリンクされたマイルストーンが含まれており、外部監査のような内部プロセスを促進します。

リリースエビデンスにアクセスするには、Releasesページで、エビデンス一覧の見出しの下に記載されているJSONファイルへのリンクを選択します。

既存のリリースのリリースエビデンスを生成するために、APIを使用することもできます。このため、各リリースは複数のリリースエビデンススナップショットを持つことができます。リリースエビデンスとその詳細はReleasesページで確認できます。

イシュートラッカーが無効になっている場合、リリースエビデンスはダウンロードできません

以下はリリースエビデンスオブジェクトの例です:

{
  "release": {
    "id": 5,
    "tag_name": "v4.0",
    "name": "New release",
    "project": {
      "id": 20,
      "name": "Project name",
      "created_at": "2019-04-14T11:12:13.940Z",
      "description": "Project description"
    },
    "created_at": "2019-06-28 13:23:40 UTC",
    "description": "Release description",
    "milestones": [
      {
        "id": 11,
        "title": "v4.0-rc1",
        "state": "closed",
        "due_date": "2019-05-12 12:00:00 UTC",
        "created_at": "2019-04-17 15:45:12 UTC",
        "description": "milestone description",
      },
      {
        "id": 12,
        "title": "v4.0-rc2",
        "state": "closed",
        "due_date": "2019-05-30 18:30:00 UTC",
        "created_at": "2019-04-17 15:45:12 UTC",
        "description": "milestone description",
      }
    ],
    "report_artifacts": [
      {
        "url":"https://gitlab.example.com/root/project-name/-/jobs/111/artifacts/download"
      }
    ]
  }
}

リリースエビデンスを収集する

  • プラン: Premium、Ultimate
  • 提供形態: GitLab Self-Managed、GitLab Dedicated

リリースが作成されると、リリースエビデンスは自動的に収集されます。それ以外のときにエビデンスの収集を開始するには、APIコールを使用します。1つのリリースに対して、リリースエビデンスを複数回収集できます。

エビデンス収集のスナップショットは、エビデンスが収集されたタイムスタンプとともに、Releasesページに表示されます。

レポートアーティファクトをリリースエビデンスとして含める

  • プラン: Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

リリースを作成する際、最後に実行されたパイプラインにジョブアーティファクトが含まれている場合、それらはリリースにリリースエビデンスとして自動的に含まれます。

ジョブアーティファクトは通常期限切れになりますが、リリースエビデンスに含まれるアーティファクトは期限切れになりません。

ジョブアーティファクトの収集を有効にするには、両方を指定する必要があります:

  1. artifacts:paths
  2. artifacts:reports
ruby:
  script:
    - gem install bundler
    - bundle install
    - bundle exec rspec --format progress --format RspecJunitFormatter --out rspec.xml
  artifacts:
    paths:
      - rspec.xml
    reports:
      junit: rspec.xml

パイプラインが正常に実行された場合、リリースを作成すると、rspec.xmlファイルはリリースエビデンスとして保存されます。

リリースエビデンス収集をスケジュールした場合、エビデンス収集の時点で一部のアーティファクトはすでに期限切れになっている可能性があります。これを回避するには、artifacts:expire_inキーワードを使用できます。詳細については、イシュー222351を参照してください。

リリースエビデンス収集のスケジュール

APIでは:

  • 将来のreleased_atの日付を指定した場合、そのリリースはUpcoming releaseとなり、エビデンスはリリース日に収集されます。それより前にリリースエビデンスを収集することはできません。
  • 過去のreleased_atの日付を指定した場合、そのリリースは過去のリリースとなり、エビデンスは収集されません。
  • released_atの日付を指定しない場合、リリースエビデンスはリリース作成日に収集されます。