배지

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

배지는 프로젝트에 대한 압축된 정보를 통합하여 제시하는 방법입니다.
배지는 작은 이미지와 이미지가 가리키는 URL로 구성됩니다.
GitLab에서 배지는 프로젝트 개요 페이지의 프로젝트 설명 아래에 표시됩니다.
프로젝트와 그룹 레벨에서 배지를 사용할 수 있습니다.

사용 가능한 배지

GitLab은 다음과 같은 파이프라인 배지를 제공합니다:

GitLab은 또한 사용자 정의 배지를 지원합니다.

파이프라인 상태 배지

파이프라인 상태 배지는 프로젝트의 최신 파이프라인 상태를 나타냅니다.
파이프라인 상태에 따라 배지는 다음 값 중 하나를 가질 수 있습니다:

  • pending
  • running
  • passed
  • failed
  • skipped
  • manual
  • canceled
  • unknown

다음 링크를 사용하여 파이프라인 상태 배지 이미지를 액세스할 수 있습니다:

https://gitlab.example.com/<namespace>/<project>/badges/<branch>/pipeline.svg

비스킵된 상태만 표시

파이프라인 상태 배지가 마지막 비스킵된 상태만 표시하도록 하려면 ?ignore_skipped=true 쿼리 매개변수를 사용하세요:

https://gitlab.example.com/<namespace>/<project>/badges/<branch>/pipeline.svg?ignore_skipped=true

테스트 커버리지 보고서 배지

테스트 커버리지 보고서 배지는 프로젝트에서 테스트되는 코드의 비율을 나타냅니다.
값은 최신 성공적인 파이프라인을 기준으로 계산됩니다.

다음 링크를 사용하여 테스트 커버리지 보고서 배지 이미지를 액세스할 수 있습니다:

https://gitlab.example.com/<namespace>/<project>/badges/<branch>/coverage.svg

각 작업 로그가 일치하는 커버리지 보고서를 위한 정규 표현식을 정의할 수 있습니다.
이는 파이프라인의 각 작업이 테스트 커버리지 비율 값을 정의할 수 있음을 의미합니다.

특정 작업에서 커버리지 보고서를 가져오려면 URL에 job=coverage_job_name 매개변수를 추가하세요.
예를 들어, 다음과 같은 코드를 사용하여 coverage 작업의 테스트 커버리지 보고서 배지를 Markdown 파일에 추가할 수 있습니다:

![coverage](https://gitlab.example.com/<namespace>/<project>/badges/<branch>/coverage.svg?job=coverage)

테스트 커버리지 보고서 배지 색상 및 한계

배지의 기본 색상 및 한계는 다음과 같습니다:

  • 95 이상 100% 이하 - 좋음 (#4c1)
  • 90 이상 95% 미만 - 수용 가능 (#a3c51c)
  • 75 이상 90% 미만 - 보통 (#dfb317)
  • 0 이상 75% 미만 - 낮음 (#e05d44)
  • 커버리지 없음 - 미지수 (#9f9f9f)

참고:
Up to는 상한을 포함하지 않고 포함하는 것을 의미합니다.

다음 추가 매개변수를 사용하여 한계를 덮어쓸 수 있습니다:

  • min_good (기본값 95, 3과 100 사이의 값을 사용할 수 있음)
  • min_acceptable (기본값 90, 2와 min_good-1 사이의 값을 사용할 수 있음)
  • min_medium (기본값 75, 1과 min_acceptable-1 사이의 값을 사용할 수 있음)

유효하지 않은 경계가 설정되면 GitLab은 자동으로 유효하도록 조정합니다. 예를 들어,
min_good80으로 설정되고, min_acceptable85(너무 높음)으로 설정되면, GitLab은 자동으로
min_acceptable79(min_good - 1)으로 설정합니다.

최신 릴리즈 배지

최신 릴리즈 배지는 프로젝트의 최신 릴리즈 태그 이름을 나타냅니다.

릴리즈가 없는 경우 none이 표시됩니다.

다음 링크를 사용하여 최신 릴리즈 배지 이미지를 접근할 수 있습니다:

https://gitlab.example.com/<namespace>/<project>/-/badges/release.svg

기본적으로 배지는 released_at 시간에 따라 정렬된 릴리즈를 ?order_by 쿼리 매개변수를 사용하여 가져옵니다.

https://gitlab.example.com/<namespace>/<project>/-/badges/release.svg?order_by=release_at

value_width 매개변수를 사용하여 릴리즈 이름 필드의 너비를 변경할 수 있습니다 (GitLab 15.10에서 도입됨).

값은 1에서 200 사이여야 하며, 기본값은 54입니다.

범위를 벗어난 값을 설정하면 GitLab이 자동으로 기본값으로 조정합니다.

프로젝트 배지

배지는 Maintainers 또는 Owners가 프로젝트에 추가할 수 있으며, 프로젝트의 개요 페이지에서 볼 수 있습니다.

여러 프로젝트에 동일한 배지를 추가해야 하는 경우 그룹 수준에서 추가할 수 있습니다.

예제 프로젝트 배지: 파이프라인 상태

일반적인 프로젝트 배지는 GitLab CI 파이프라인 상태를 나타냅니다.

이 배지를 프로젝트에 추가하려면:

  1. 왼쪽 사이드바에서 검색하거나 이동하기를 선택하고 프로젝트를 찾습니다.
  2. 설정 > 일반을 선택합니다.
  3. 배지를 확장합니다.
  4. 이름 아래에 _파이프라인 상태_를 입력합니다.
  5. 링크 아래에 다음 URL을 입력합니다: https://gitlab.com/%{project_path}/-/commits/%{default_branch}
  6. 배지 이미지 URL 아래에 다음 URL을 입력합니다: https://gitlab.com/%{project_path}/badges/%{default_branch}/pipeline.svg
  7. 배지 추가를 선택합니다.

그룹 배지

배지는 Owners가 그룹에 추가할 수 있으며, 그룹에 속한 모든 프로젝트의 개요 페이지에서 볼 수 있습니다.

그룹에 배지를 추가하면 그룹 내 모든 프로젝트에 대한 프로젝트 수준의 배지를 추가하고 적용합니다.

참고: 이 배지는 코드베이스에서 프로젝트 수준의 배지로 표시되지만, 프로젝트 수준에서 편집하거나 삭제할 수는 없습니다.

각 프로젝트에 대한 개별 배지가 필요한 경우 다음 방법 중 하나를 선택하세요:

배지 보기

프로젝트나 그룹에서 사용 가능한 배지를 보려면:

  1. 왼쪽 사이드바에서 검색하거나 이동하기를 선택하고 프로젝트나 그룹을 찾습니다.
  2. 설정 > 일반을 선택합니다.
  3. 배지를 확장합니다.

배지 추가

프로젝트나 그룹에 새 배지를 추가하려면:

  1. 왼쪽 사이드바에서 검색하거나 이동하기를 선택하고 프로젝트나 그룹을 찾습니다.
  2. 설정 > 일반을 선택합니다.
  3. 배지를 확장합니다.
  4. 배지 추가를 선택합니다.
  5. 이름 텍스트 상자에 배지의 이름을 입력합니다.
  6. 링크 텍스트 상자에 배지가 가리킬 URL을 입력합니다.
  7. 배지 이미지 URL 텍스트 상자에 배지를 표시할 이미지의 URL을 입력합니다.
  8. 배지 추가를 선택합니다.

파이프라인 배지의 URL 보기

배지에 대한 정확한 링크를 볼 수 있습니다.

그런 다음 링크를 사용하여 HTML 또는 Markdown 페이지에 배지를 삽입할 수 있습니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.

  2. 설정 > CI/CD를 선택합니다.

  3. 일반 파이프라인을 확장합니다.

  4. 파이프라인 상태, 커버리지 보고서 또는 최신 릴리스 섹션에서 이미지의 URL을 봅니다.

배지 사용자 정의

다음 배지의 다양한 측면을 사용자 정의할 수 있습니다:

  • 스타일
  • 텍스트
  • 너비
  • 이미지

배지 스타일 사용자 정의

파이프라인 배지는 URL에 style=style_name 매개변수를 추가하여 다양한 스타일로 렌더링할 수 있습니다. 두 가지 스타일이 가능합니다:

  • 평면(기본):

    https://gitlab.example.com/<namespace>/<project>/badges/<branch>/coverage.svg?style=flat
    

    배지 평면 스타일

  • 평면 정사각형:

    https://gitlab.example.com/<namespace>/<project>/badges/<branch>/coverage.svg?style=flat-square
    

    배지 평면 정사각형 스타일

배지 텍스트 사용자 정의

배지의 텍스트는 동일한 파이프라인에서 실행되는 여러 커버리지 작업을 구별하기 위해 사용자 정의할 수 있습니다.

배지 텍스트와 너비는 URL에 key_text=custom_textkey_width=custom_key_width 매개변수를 추가하여 사용자 정의합니다:

https://gitlab.com/gitlab-org/gitlab/badges/main/coverage.svg?job=karma&key_text=Frontend+Coverage&key_width=130

사용자 정의 텍스트 및 너비가 포함된 배지

배지 이미지 사용자 정의

기본 배지 외에 사용하려는 경우 프로젝트나 그룹에서 사용자 정의 배지 이미지를 사용할 수 있습니다.

필수 조건:

  • 배지에 대한 원하는 이미지로 직접 연결되는 유효한 URL입니다. 이미지가 GitLab 리포지토리에 있는 경우, 이미지의 원본 링크를 사용합니다.

플레이스홀더를 사용하여, 다음은 리포지토리의 루트에 있는 원본 이미지를 참조하는 배지 이미지 URL의 예입니다:

https://gitlab.example.com/<project_path>/-/raw/<default_branch>/my-image.svg

그룹이나 프로젝트에 사용자 정의 이미지로 새 배지를 추가하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트나 그룹을 찾습니다.

  2. 설정 > 일반을 선택합니다.

  3. 배지를 확장합니다.

  4. 이름 아래에 배지의 이름을 입력합니다.

  5. 링크 아래에 배지가 가리킬 URL을 입력합니다.

  6. 배지 이미지 URL 아래에 표시할 사용자 정의 이미지로 직접 연결되는 URL을 입력합니다.

  7. 배지 추가를 선택합니다.

파이프라인을 통해 생성된 사용자 정의 이미지를 사용하는 방법에 대한 내용은 URL로 최신 작업 아티팩스에 접근하기 문서를 참조하세요.

배지 편집

프로젝트나 그룹에서 배지를 편집하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트나 그룹을 찾습니다.

  2. 설정 > 일반을 선택합니다.

  3. 배지를 확장합니다.

  4. 편집하려는 배지 옆에서 편집({연필})을 선택합니다.

  5. 이름, 링크 또는 배지 이미지 URL을 편집합니다.

  6. 변경 사항 저장을 선택합니다.

배지 삭제

프로젝트나 그룹에서 배지를 삭제하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
  2. 설정 > 일반을 선택합니다.
  3. 배지를 확장합니다.
  4. 삭제하려는 배지 옆에서 삭제( )를 선택합니다.
  5. 확인 대화 상자에서 배지 삭제를 선택합니다.

참고:
그룹에 연결된 배지는 그룹 수준에서만 편집하거나 삭제할 수 있습니다.

플레이스홀더

배지가 가리키는 URL과 이미지 URL 모두 플레이스홀더를 포함할 수 있으며,
이는 배지를 표시할 때 평가됩니다.
다음 플레이스홀더를 사용할 수 있습니다:

  • %{project_path}: 상위 그룹을 포함한 프로젝트의 경로
  • %{project_title}: 프로젝트의 제목
  • %{project_name}: 프로젝트의 이름
  • %{project_id}: 프로젝트와 관련된 데이터베이스 ID
  • %{project_namespace}: 프로젝트의 네임스페이스
  • %{group_name}: 프로젝트의 그룹
  • %{gitlab_server}: 프로젝트의 서버
  • %{gitlab_pages_domain}: 프로젝트의 도메인
  • %{default_branch}: 프로젝트의 리포지토리에 대해 구성된 기본 브랜치 이름
  • %{commit_sha}: 프로젝트의 리포지토리의 기본 브랜치에 대한 가장 최근 커밋 ID
  • %{latest_tag}: 프로젝트의 리포지토리에 추가된 최신 태그

참고:
플레이스홀더는 기본 브랜치나 커밋 SHA와 같은 일반적으로 비공개인 정보를 드러내는 역할을 합니다.
프로젝트가 개인 리포지토리로 구성된 경우, 이 동작은 의도적입니다.
배지는 공개적으로 사용하도록 설계되었으므로, 정보가 민감한 경우 이러한 플레이스홀더를 사용하는 것을 피하세요.