InfoGrab Docs

튜토리얼: 자신만의 프로젝트 러너 만들기, 등록 및 실행

요약

이 튜토리얼은 GitLab에서 첫 번째 러너를 구성하고 실행하는 방법을 보여줍니다. 러너는 GitLab CI/CD 파이프라인에서 작업을 실행하는 GitLab Runner 애플리케이션의 에이전트입니다. GitLab에는 세 가지 유형의 러너가 있습니다:

이 튜토리얼은 GitLab에서 첫 번째 러너를 구성하고 실행하는 방법을 보여줍니다.

러너는 GitLab CI/CD 파이프라인에서 작업을 실행하는 GitLab Runner 애플리케이션의 에이전트입니다. 작업은 .gitlab-ci.yml 파일에 정의되고 사용 가능한 러너에 할당됩니다.

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

  • 공유(Shared): GitLab 인스턴스의 모든 그룹과 프로젝트에서 사용 가능.
  • 그룹(Group): 그룹의 모든 프로젝트와 하위 그룹에서 사용 가능.
  • 프로젝트(Project): 특정 프로젝트와 연결. 일반적으로 프로젝트 러너는 한 번에 하나의 프로젝트에서 사용.

이 튜토리얼에서는 기본 파이프라인 구성에서 정의된 작업을 실행하기 위한 프로젝트 러너를 만들 것입니다:

  1. 빈 프로젝트 만들기
  2. 프로젝트 파이프라인 만들기.
  3. 프로젝트 러너 만들기 및 등록.
  4. 파이프라인을 트리거하여 러너 실행.

시작하기 전에#

러너를 만들고 등록하고 실행하려면 먼저 로컬 컴퓨터에 GitLab Runner를 설치해야 합니다.

빈 프로젝트 만들기#

먼저 CI/CD 파이프라인과 러너를 만들 수 있는 빈 프로젝트를 만듭니다.

빈 프로젝트를 만들려면:

  1. 오른쪽 상단에서 Create new(+)와 New project/repository를 선택합니다.
  2. Create blank project를 선택합니다.
  3. 프로젝트 세부 정보를 입력합니다:
    • Project name 필드에 프로젝트 이름을 입력합니다. 이름은 소문자 또는 대문자(a-zA-Z), 숫자(0-9), 이모지 또는 밑줄(_)로 시작해야 합니다. 점(.), 더하기(+), 대시(-) 또는 공백도 포함할 수 있습니다.
    • Project slug 필드에 프로젝트 경로를 입력합니다. GitLab 인스턴스는 슬러그를 프로젝트의 URL 경로로 사용합니다. 슬러그를 변경하려면 먼저 프로젝트 이름을 입력한 다음 슬러그를 변경합니다.
  4. Create project를 선택합니다.

프로젝트 파이프라인 만들기#

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

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

  • 러너가 실행해야 하는 작업의 구조와 순서.
  • 특정 조건이 발생할 때 러너가 내려야 하는 결정.
  1. 상단 바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.

  2. Project overview를 선택합니다.

  3. 더하기 아이콘(+)을 선택한 다음 New file을 선택합니다.

  4. Filename 필드에 .gitlab-ci.yml을 입력합니다.

  5. 큰 텍스트 상자에 다음 샘플 구성을 붙여넣습니다:

    stages:
      - build
      - test
    
    job_build:
      stage: build
      script:
        - echo "Building the project"
    
    job_test:
      stage: test
      script:
        - echo "Running tests"
    

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

  6. Commit changes를 선택합니다.

프로젝트 러너 만들기 및 등록#

다음으로 프로젝트 러너를 만들고 등록합니다. GitLab에 연결하여 프로젝트 파이프라인에서 작업을 선택할 수 있도록 러너를 등록해야 합니다.

프로젝트 러너를 만들려면:

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

  2. 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.

  3. Runners 섹션을 확장합니다.

  4. Create project runner를 선택합니다.

  5. Tags 섹션에서 Run untagged 확인란을 선택합니다. 태그는 러너가 실행할 수 있는 작업을 지정하며 선택 사항입니다.

  6. Create runner를 선택합니다.

  7. 운영 체제를 선택합니다.

  8. 화면의 지침에 따라 명령줄에서 러너를 등록합니다. 메시지가 표시되면:

    • executor의 경우, 러너가 호스트 컴퓨터에서 직접 실행되므로 shell을 입력합니다. 익스큐터는 러너가 작업을 실행하는 환경입니다.
    • GitLab instance 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. 왼쪽 사이드바에서 Build > Pipelines를 선택합니다.

  3. New pipeline을 선택합니다.

  4. 작업을 선택하여 작업 로그를 봅니다. 출력은 다음 예제와 유사하게 표시되며, 러너가 작업을 성공적으로 실행하는 것을 보여줍니다:

       Running with gitlab-runner 18.0.0 (d7f2cea7)
       on my-project-runner TOKEN, system ID: SYSTEM ID
       Preparing the "shell" executor
       00:00
       Using Shell (bash) executor...
       Preparing environment
       00:00
       /Users/username/.bash_profile: line 9: setopt: command not found
       Running on MACHINE-NAME...
       Getting source from Git repository
       00:01
       /Users/username/.bash_profile: line 9: setopt: command not found
       Fetching changes with git depth set to 20...
       Reinitialized existing Git repository in /Users/username/project-repository
       Checking out 7226fc70 as detached HEAD (ref is main)...
       Skipping object checkout, Git LFS is not installed for this repository.
       Consider installing it with 'git lfs install'.
       Skipping Git submodules setup
       Executing "step_script" stage of the job script
       00:00
       /Users/username/.bash_profile: line 9: setopt: command not found
       $ echo "Building the project"
       Building the project
       Job succeeded
    
    

첫 번째 러너를 성공적으로 만들고 등록하고 실행했습니다!

튜토리얼: 자신만의 프로젝트 러너 만들기, 등록 및 실행

원문 보기
요약

이 튜토리얼은 GitLab에서 첫 번째 러너를 구성하고 실행하는 방법을 보여줍니다. 러너는 GitLab CI/CD 파이프라인에서 작업을 실행하는 GitLab Runner 애플리케이션의 에이전트입니다. GitLab에는 세 가지 유형의 러너가 있습니다:

이 튜토리얼은 GitLab에서 첫 번째 러너를 구성하고 실행하는 방법을 보여줍니다.

러너는 GitLab CI/CD 파이프라인에서 작업을 실행하는 GitLab Runner 애플리케이션의 에이전트입니다. 작업은 .gitlab-ci.yml 파일에 정의되고 사용 가능한 러너에 할당됩니다.

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

  • 공유(Shared): GitLab 인스턴스의 모든 그룹과 프로젝트에서 사용 가능.
  • 그룹(Group): 그룹의 모든 프로젝트와 하위 그룹에서 사용 가능.
  • 프로젝트(Project): 특정 프로젝트와 연결. 일반적으로 프로젝트 러너는 한 번에 하나의 프로젝트에서 사용.

이 튜토리얼에서는 기본 파이프라인 구성에서 정의된 작업을 실행하기 위한 프로젝트 러너를 만들 것입니다:

  1. 빈 프로젝트 만들기
  2. 프로젝트 파이프라인 만들기.
  3. 프로젝트 러너 만들기 및 등록.
  4. 파이프라인을 트리거하여 러너 실행.

시작하기 전에#

러너를 만들고 등록하고 실행하려면 먼저 로컬 컴퓨터에 GitLab Runner를 설치해야 합니다.

빈 프로젝트 만들기#

먼저 CI/CD 파이프라인과 러너를 만들 수 있는 빈 프로젝트를 만듭니다.

빈 프로젝트를 만들려면:

  1. 오른쪽 상단에서 Create new(+)와 New project/repository를 선택합니다.
  2. Create blank project를 선택합니다.
  3. 프로젝트 세부 정보를 입력합니다:
    • Project name 필드에 프로젝트 이름을 입력합니다. 이름은 소문자 또는 대문자(a-zA-Z), 숫자(0-9), 이모지 또는 밑줄(_)로 시작해야 합니다. 점(.), 더하기(+), 대시(-) 또는 공백도 포함할 수 있습니다.
    • Project slug 필드에 프로젝트 경로를 입력합니다. GitLab 인스턴스는 슬러그를 프로젝트의 URL 경로로 사용합니다. 슬러그를 변경하려면 먼저 프로젝트 이름을 입력한 다음 슬러그를 변경합니다.
  4. Create project를 선택합니다.

프로젝트 파이프라인 만들기#

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

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

  • 러너가 실행해야 하는 작업의 구조와 순서.
  • 특정 조건이 발생할 때 러너가 내려야 하는 결정.
  1. 상단 바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.

  2. Project overview를 선택합니다.

  3. 더하기 아이콘(+)을 선택한 다음 New file을 선택합니다.

  4. Filename 필드에 .gitlab-ci.yml을 입력합니다.

  5. 큰 텍스트 상자에 다음 샘플 구성을 붙여넣습니다:

    stages:
      - build
      - test
    
    job_build:
      stage: build
      script:
        - echo "Building the project"
    
    job_test:
      stage: test
      script:
        - echo "Running tests"
    

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

  6. Commit changes를 선택합니다.

프로젝트 러너 만들기 및 등록#

다음으로 프로젝트 러너를 만들고 등록합니다. GitLab에 연결하여 프로젝트 파이프라인에서 작업을 선택할 수 있도록 러너를 등록해야 합니다.

프로젝트 러너를 만들려면:

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

  2. 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.

  3. Runners 섹션을 확장합니다.

  4. Create project runner를 선택합니다.

  5. Tags 섹션에서 Run untagged 확인란을 선택합니다. 태그는 러너가 실행할 수 있는 작업을 지정하며 선택 사항입니다.

  6. Create runner를 선택합니다.

  7. 운영 체제를 선택합니다.

  8. 화면의 지침에 따라 명령줄에서 러너를 등록합니다. 메시지가 표시되면:

    • executor의 경우, 러너가 호스트 컴퓨터에서 직접 실행되므로 shell을 입력합니다. 익스큐터는 러너가 작업을 실행하는 환경입니다.
    • GitLab instance 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. 왼쪽 사이드바에서 Build > Pipelines를 선택합니다.

  3. New pipeline을 선택합니다.

  4. 작업을 선택하여 작업 로그를 봅니다. 출력은 다음 예제와 유사하게 표시되며, 러너가 작업을 성공적으로 실행하는 것을 보여줍니다:

       Running with gitlab-runner 18.0.0 (d7f2cea7)
       on my-project-runner TOKEN, system ID: SYSTEM ID
       Preparing the "shell" executor
       00:00
       Using Shell (bash) executor...
       Preparing environment
       00:00
       /Users/username/.bash_profile: line 9: setopt: command not found
       Running on MACHINE-NAME...
       Getting source from Git repository
       00:01
       /Users/username/.bash_profile: line 9: setopt: command not found
       Fetching changes with git depth set to 20...
       Reinitialized existing Git repository in /Users/username/project-repository
       Checking out 7226fc70 as detached HEAD (ref is main)...
       Skipping object checkout, Git LFS is not installed for this repository.
       Consider installing it with 'git lfs install'.
       Skipping Git submodules setup
       Executing "step_script" stage of the job script
       00:00
       /Users/username/.bash_profile: line 9: setopt: command not found
       $ echo "Building the project"
       Building the project
       Job succeeded
    
    

첫 번째 러너를 성공적으로 만들고 등록하고 실행했습니다!