Help us learn about your current experience with the documentation. Take the survey.
发布证据
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
每次创建发布时,GitLab 会捕获与其相关的数据快照。 这些数据保存在 JSON 文件中,称为发布证据。该功能包括测试工件和关联的里程碑,以促进内部流程,如外部审计。
要访问发布证据,请在"发布"页面,选择"证据收集"标题下列出的 JSON 文件链接。
您也可以使用 API为现有发布生成发布证据。因此,每个发布可以有多个发布证据快照。您可以在"发布"页面查看发布证据及其详细信息。
当问题跟踪器被禁用时,发布证据无法下载。
以下是发布证据对象的示例:
{
"release": {
"id": 5,
"tag_name": "v4.0",
"name": "新发布",
"project": {
"id": 20,
"name": "项目名称",
"created_at": "2019-04-14T11:12:13.940Z",
"description": "项目描述"
},
"created_at": "2019-06-28 13:23:40 UTC",
"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": "里程碑描述",
},
{
"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": "里程碑描述",
}
],
"report_artifacts": [
{
"url":"https://gitlab.example.com/root/project-name/-/jobs/111/artifacts/download"
}
]
}
}收集发布证据
- Tier: Premium, Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
创建发布时,会自动收集发布证据。要在其他时间启动证据收集,请使用API 调用。您可以多次为一个发布收集发布证据。
证据收集快照在"发布"页面可见,并附有证据收集的时间戳。
将报告工件包含为发布证据
- Tier: Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
创建发布时,如果作业工件包含在最后运行的管道中,它们会自动包含在发布中作为发布证据。
尽管作业工件通常会过期,但包含在发布证据中的工件不会过期。
要启用作业工件收集,您必须同时指定:
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日期,发布将成为即将发布的版本,并在发布日期收集证据。在此之前,您无法收集发布证据。 - 如果您指定过去的
released_at日期,发布将成为历史发布,且不会收集任何证据。 - 如果您不指定
released_at日期,发布证据将在创建发布的日期收集。