튜토리얼: 자체 프로젝트 러너를 생성, 등록, 실행하기

이 튜토리얼에서는 GitLab에서 러너를 구성하고 실행하는 방법을 안내합니다.

러너는 GitLab Runner 응용 프로그램의 에이전트로서 GitLab CI/CD 파이프라인에서 작업을 실행합니다. 작업은 .gitlab-ci.yml 파일에 정의되며 이를 이용하여 사용 가능한 러너에 할당됩니다.

GitLab에는 세 가지 유형의 러너가 있습니다.

  • 공유: GitLab 인스턴스의 모든 그룹 및 프로젝트에서 사용 가능합니다.
  • 그룹: 그룹의 모든 프로젝트 및 하위 그룹에서 사용할 수 있습니다.
  • 프로젝트: 특정 프로젝트와 관련이 있습니다. 일반적으로 프로젝트 러너는 한 번에 하나의 프로젝트에서 사용됩니다.

이 튜토리얼에서는 기본 파이프라인에서 정의된 작업을 실행하기 위해 프로젝트 러너를 생성합니다.

  1. 빈 프로젝트 생성
  2. 프로젝트 파이프라인 생성.
  3. 프로젝트 러너 생성 및 등록.
  4. 러너를 실행하도록 파이프라인 트리거.

시작하기 전에

러너를 생성, 등록, 실행하기 전에 GitLab Runner가 로컬 컴퓨터에 설치되어 있어야 합니다.

빈 프로젝트 생성

먼저, CI/CD 파이프라인 및 러너를 생성할 빈 프로젝트를 만들어 보겠습니다.

빈 프로젝트를 만들려면 다음 단계를 따르세요:

  1. 왼쪽 사이드바에서 상단에 있는 새로 만들기 () 및 새 프로젝트/저장소를 선택합니다.
  2. 빈 프로젝트 만들기를 선택합니다.
  3. 프로젝트 세부 정보 입력:
    • 프로젝트 이름 필드에 프로젝트 이름을 입력합니다. 이름은 소문자 또는 대문자 (a-zA-Z), 숫자 (0-9), 이모티콘 또는 밑줄(_)로 시작해야 합니다. 또한 점(.), 플러스(+), 대시(-), 또는 공백을 포함할 수 있습니다.
    • 프로젝트 슬러그 필드에 프로젝트의 경로를 입력합니다. GitLab 인스턴스는 슬러그를 프로젝트의 URL 경로로 사용합니다. 슬러그를 변경하려면 먼저 프로젝트 이름을 입력한 다음 슬러그를 변경하세요.
  4. 프로젝트 만들기를 선택합니다.

프로젝트 파이프라인 생성

다음으로 프로젝트용 .gitlab-ci.yml 파일을 만들어 보겠습니다. 이는 GitLab CI/CD에 대한 지침을 지정하는 YAML 파일입니다.

이 파일에서 다음을 정의합니다:

  • 러너가 실행해야 하는 작업의 구조 및 순서.
  • 특정 조건을 만났을 때 러너가 내릴 결정.

다음 단계를 따라 프로젝트 파이프라인을 생성하세요:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트나 그룹을 찾습니다.
  2. 프로젝트 개요를 선택합니다.
  3. 플러스 아이콘()을 선택한 후 새 파일을 선택합니다.
  4. 파일 이름 필드에 .gitlab-ci.yml을 입력합니다.
  5. 큰 텍스트 상자에 다음 샘플 구성을 붙여넣습니다:

    stages:
      - build
      - test
    
    job_build:
      stage: build
      script:
        - echo "프로젝트 빌드 중"
    
    job_test:
      stage: test
      script:
        - echo "테스트 실행 중"
    

    이 구성에는 러너가 실행하는 두 가지 작업이 있습니다: 빌드 작업과 테스트 작업입니다.

  6. 변경 사항 커밋을 선택합니다.

프로젝트 러너 생성 및 등록

이제 프로젝트 러너를 만들고 등록해보겠습니다. 프로젝트 러너를 등록하여 프로젝트 파이프라인에서 작업을 가져올 수 있도록 GitLab에 러너를 연결해야 합니다.

프로젝트 러너를 만들려면 다음 단계를 따르세요:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너 섹션을 확장합니다.
  4. 새 프로젝트 러너를 선택합니다.
  5. 사용 중인 운영 체제를 선택합니다.
  6. 태그 섹션에서 태그 지정되지 않은 것 확인란을 선택합니다. 태그는 러너가 실행할 수 있는 작업을 지정하며 선택 사항입니다.
  7. 러너 만들기를 선택합니다.
  8. 명령줄에서 러너를 등록하는 지침에 따릅니다. 메시지가 표시되면:
    • executor에는 러너가 호스트 컴퓨터에서 직접 실행되기 때문에 shell을 입력합니다. executor는 러너가 작업을 실행하는 환경입니다.
    • GitLab 인스턴스 URL에는 GitLab 인스턴스의 URL을 사용합니다. 예를 들어, 프로젝트가 gitlab.example.com/yourname/yourproject에 호스팅되어 있으면 GitLab 인스턴스 URL은 https://gitlab.example.com입니다. 프로젝트가 GitLab.com에 호스팅되어 있으면 URL은 https://gitlab.com입니다.
  9. 러너를 시작하세요:

    gitlab-runner run
    

러너 구성 파일 확인

러너를 등록한 후, 구성 및 러너 인증 토큰이 config.toml에 저장됩니다. 러너는 작업 대기열에서 작업을 가져올 때 GitLab과 인증하기 위해 이 토큰을 사용합니다.

config.toml을 사용하여 더 많은 고급 러너 구성을 정의할 수 있습니다.

러너를 등록하고 실행한 후에 config.toml은 다음과 같이 보여야 합니다:

  [[runners]]
  name = "my-project-runner1"
  url = "http://127.0.0.1:3000"
  id = 38
  token = "glrt-TOKEN"
  token_obtained_at = 2023-07-05T08:56:33Z
  token_expires_at = 0001-01-01T00:00:00Z
  executor = "shell"

러너를 실행하도록 파이프라인 트리거

다음으로 프로젝트에서 파이프라인을 트리거하여 러너가 작업을 실행하는 것을 볼 수 있습니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. 빌드 > 파이프라인을 선택합니다.
  3. 새 파이프라인을 선택합니다.
  4. 작업 로그를 보려면 작업을 선택하세요. 출력은 러너가 작업을 성공적으로 실행하는 사례를 보여줄 것입니다.

이제 성공적으로 첫 번째 러너를 생성, 등록 및 실행했습니다!