릴리스 증거
각 릴리스가 생성될 때마다, GitLab은 관련 데이터의 스냅샷을 찍습니다.
이 데이터는 JSON 파일로 저장되며 릴리스 증거라고 합니다.
이 기능은 내부 프로세스, 외부 감사와 같은 것을 용이하게 하기 위해 테스트 아티팩트와 연결된 마일스톤을 포함합니다.
릴리스 증거에 접근하려면, Releases 페이지에서 Evidence collection 제목 아래에 나열된 JSON 파일에 대한 링크를 선택하세요.
또한 API를 사용하여 기존 릴리스를 위한 릴리스 증거를 생성할 수 있습니다.
이로 인해 각 릴리스는 여러 개의 릴리스 증거 스냅샷을 가질 수 있습니다.
릴리스 페이지에서 릴리스 증거와 그 세부정보를 볼 수 있습니다.
문제 추적기가 비활성화된 경우, 릴리스 증거는 다운로드할 수 없습니다.
다음은 릴리스 증거 개체의 예입니다:
{
"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",
"issues": [
{
"id": 82,
"title": "The top-right popup is broken",
"author_name": "John Doe",
"author_email": "john@doe.com",
"state": "closed",
"due_date": "2019-05-10 12:00:00 UTC"
},
{
"id": 89,
"title": "The title of this page is misleading",
"author_name": "Jane Smith",
"author_email": "jane@smith.com",
"state": "closed",
"due_date": "nil"
}
]
},
{
"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",
"issues": []
}
],
"report_artifacts": [
{
"url":"https://gitlab.example.com/root/project-name/-/jobs/111/artifacts/download"
}
]
}
}
릴리스 증거 수집
릴리스가 생성될 때, 릴리스 증거가 자동으로 수집됩니다.
증거 수집을 다른 시간에 시작하려면 API 호출을 사용하세요.
하나의 릴리스를 위해 릴리스 증거를 여러 번 수집할 수 있습니다.
증거 수집 스냅샷은 릴리스 증거가 수집된 타임스탬프와 함께 Releases 페이지에서 볼 수 있습니다.
릴리스 증거로서 보고서 아티팩트 포함
Offering: GitLab.com, 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
날짜를 지정하지 않으면 릴리스 증거는 릴리스가 생성된 날짜에 수집됩니다.