배지

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이 자동으로 기본값으로 조정합니다.

프로젝트 배지

관리자 또는 소유자가 프로젝트에 배지를 추가하고 프로젝트의 개요 페이지에서 볼 수 있습니다. 여러 프로젝트에 동일한 배지를 추가해야 하는 경우 그룹 수준에서 추가할 수 있습니다.

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

일반적인 프로젝트 배지로 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. 배지 추가를 선택합니다.

그룹 배지

소유자가 그룹에 배지를 추가하고 해당 그룹에 속하는 모든 프로젝트의 개요 페이지에서 볼 수 있습니다. 그룹에 배지를 추가하면 그룹 내 모든 프로젝트에 대한 프로젝트 수준 배지가 추가되고 적용됩니다.

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

각 프로젝트에 개별 배지가 필요한 경우:

배지 보기

프로젝트나 그룹에서 사용 가능한 배지를 보려면 다음 단계를 따르세요:

  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=스타일_이름 매개변수를 추가하여 다양한 스타일로 렌더링될 수 있습니다. 두 가지 스타일이 있습니다:

  • Flat (기본값):

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

    Flat 스타일의 배지

  • Flat square:

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

    Flat square 스타일의 배지

배지 텍스트 사용자 정의

배지의 텍스트는 동일 파이프라인에서 실행되는 여러 커버리지 작업 간에 차이를 나타내기 위해 사용자 정의할 수 있습니다. URL에 key_text=사용자_정의_텍스트key_width=사용자_정의_폭 매개변수를 추가하여 배지의 텍스트와 너비를 사용자 정의할 수 있습니다:

https://gitlab.com/gitlab-org/gitlab/badges/main/coverage.svg?job=karma&key_text=프론트엔드+커버리지&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와 같은 비공개 정보가 노출될 수 있습니다. 따라서 배지는 공개적으로 사용하도록 의도되어 있으므로 민감한 정보는 피하시기 바랍니다.