테스트를 위한 패키지 빌드

새 기능을 개발하거나 기존 기능을 수정하는 동안 해당 변경 사항이 포함된 설치 가능한 패키지(또는 Docker 이미지)가 테스트용으로 준비되어 있는 것이 유용합니다. 이를 위해 GitLab CI/CD 파이프라인에서 매뉴얼 작업이 제공되며, Omnibus GitLab 리포지터리에서 해당 파이프라인을 트리거할 수 있습니다. 이 파이프라인은 다음을 생성합니다:

  • Ubuntu 16.04용 deb 패키지를 빌드 아티팩트로 제공하며
  • Docker 이미지. Docker 이미지는 Omnibus GitLab 컨테이너 레지스트리에 푸시됩니다. GitLab Enterprise Edition용 이미지는 gitlab-ee로 명명됩니다. GitLab Community Edition용 이미지는 gitlab-ce로 명명됩니다.
  • 이미지 태그는 파이프라인을 트리거한 커밋입니다.

GitLab CE 또는 GitLab EE 프로젝트로 커밋을 푸시하면 해당 커밋의 파이프라인에는 수동으로 트리거할 수 있는 trigger-omnibus 작업이 qa 단계에 있게 됩니다(이미 트리거되지 않은 경우).

Trigger omnibus QA job

자식 파이프라인이 시작된 후 trigger-omnibus를 선택하여 TRIGGERED_EE_PIPELINE라는 자식 파이프라인으로 이동할 수 있습니다.

Triggered child pipeline

그다음, trigger-package 스테이지의 Trigger:package 작업을 선택하세요.

Trigger:package 작업이 완료되면 해당 아티팩트를 GitLab에 업로드하고, 그런 다음 .deb 파일을 둘러보거나 GitLab API를 사용하여 파일을 직접 VM에 다운로드할 수 있습니다. 이러한 아티팩트의 유효 기간은 짧으므로 하루 안으로 자동으로 삭제됩니다.

컴포넌트의 버전 지정

GitLab 컴포넌트(GitLab Workhorse, Gitaly 또는 GitLab Pages와 같은) 중 하나의 특정 브랜치, 커밋 또는 태그에서 패키지를 생성하려면 해당 컴포넌트의 해당 *_VERSION 파일에 브랜치 이름, 커밋 SHA 또는 태그를 지정할 수 있습니다. 예를 들어, 0-1-stable 브랜치를 사용하는 패키지를 빌드하려면 GITALY_SERVER_VERSION의 내용을 0-1-stable로 수정하고 커밋을 푸시하십시오. 이렇게 하면 빌드를 트리거할 수 있는 매뉴얼 작업이 생성됩니다.

Omnibus GitLab 리포지터리에서 브랜치 지정

Omnibus GitLab 리포지터리에 이미 필요한 변경 사항이 특정 브랜치에 있는 구성 변경이 도입되어야 하는 시나리오에서는 .gitlab-ci.yml에 값으로 브랜치 이름을 지정하여 OMNIBUS_BRANCH이라는 CI/CD 변수를 사용하여 해당 브랜치에 대한 패키지를 만들 수 있습니다. 이를 위해 해당 변수를 지정하고 커밋을 푸시하십시오. 이렇게 하면 빌드를 트리거할 수 있는 매뉴얼 작업이 생성됩니다.