튜토리얼: 첫 번째 GitLab CI/CD 파이프라인 만들고 실행하기

튜토리얼: 첫 번째 GitLab CI/CD 파이프라인 만들고 실행하기

GitLab에서 첫 번째 CI/CD 파이프라인을 구성하고 실행하는 방법을 보여주는 튜토리얼이에요. 러너 준비부터 .gitlab-ci.yml 파일 생성, 파이프라인 상태 확인까지 첫 파이프라인을 실제로 띄워 보는 전체 흐름을 옆에서 하나씩 설명해 주는 방식으로 진행할게요.

CI/CD 기본 개념에 이미 익숙하다면 튜토리얼: 복잡한 파이프라인 만들기에서 자주 쓰이는 키워드들을 배울 수 있어요.

출처: 문서

본문

이 튜토리얼은 GitLab에서 첫 번째 CI/CD 파이프라인을 구성하고 실행하는 방법을 보여줘요.

전제 조건

시작하기 전에 다음이 준비되어 있어야 해요.

  • CI/CD를 사용하려는 GitLab의 프로젝트.
  • 프로젝트의 Maintainer 또는 Owner 역할.
  • 프로젝트가 없다면 https://gitlab.com에서 공개 프로젝트를 무료로 만들 수 있어요.

단계

첫 번째 파이프라인을 만들고 실행하려면:

  1. 작업을 실행할 러너를 사용할 수 있는지 확인하세요. GitLab.com을 사용한다면 이 단계는 건너뛸 수 있어요. GitLab.com이 인스턴스 러너를 제공해 주거든요.
  2. 저장소 루트에 .gitlab-ci.yml 파일을 만드세요. 이 파일이 CI/CD 작업을 정의하는 곳이에요. 파일을 저장소에 커밋하면 러너가 작업을 실행하고, 작업 결과는 파이프라인으로 표시돼요.

러너를 사용할 수 있는지 확인

GitLab에서 러너는 여러분의 CI/CD 작업을 실행하는 에이전트예요.

GitLab.com을 사용한다면 이 단계는 건너뛸 수 있어요. GitLab.com이 인스턴스 러너를 제공해 주거든요.

사용 가능한 러너를 보려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾으세요.
  2. 왼쪽 사이드바에서 Settings > CI/CD를 선택하세요.
  3. Runners를 펼치세요.
  4. 옆에 녹색 원이 있는 활성 러너가 하나 이상 있다면, 여러분의 작업을 처리할 수 있는 러너가 준비된 거예요.

이 설정에 접근할 수 없다면 GitLab 관리자에게 문의하세요.

러너가 없는 경우

러너가 없다면:

  1. 로컬 머신에 GitLab Runner를 설치하세요.
  2. 프로젝트에 러너를 등록하세요. shell 실행기를 선택하세요.
  3. 이후 단계에서 CI/CD 작업이 실행되면 로컬 머신에서 실행돼요.

.gitlab-ci.yml 파일 만들기

이제 .gitlab-ci.yml 파일을 만들어볼게요. 이 파일은 GitLab CI/CD에 지시 사항을 지정하는 YAML 파일이에요.

이 파일에서 정의하는 것은:

  • 러너가 실행해야 할 작업의 구조와 순서.
  • 특정 조건을 만났을 때 러너가 내려야 할 결정.

프로젝트에 .gitlab-ci.yml 파일을 만들려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾으세요.
  2. 왼쪽 사이드바에서 Code > Repository를 선택하세요.
  3. 파일 목록 위에서 커밋할 브랜치를 선택하세요. 모르겠다면 기본 브랜치를 그대로 두세요. 그런 다음 오른쪽 위에서 더하기 아이콘(+)과 New file을 선택하세요.
  4. Filename.gitlab-ci.yml을 입력하고, 큰 창에 다음 샘플 코드를 붙여 넣으세요.
    build-job:
      stage: build
      script:
        - echo "Hello, $GITLAB_USER_LOGIN!"
    
    test-job1:
      stage: test
      script:
        - echo "This job tests something"
    
    test-job2:
      stage: test
      script:
        - echo "This job tests something, but takes more time than test-job1."
        - echo "After the echo commands complete, it runs the sleep command for 20 seconds"
        - echo "which simulates a test that runs 20 seconds longer than test-job1"
        - sleep 20
    
    deploy-prod:
      stage: deploy
      script:
        - echo "This job deploys something from the $CI_COMMIT_BRANCH branch."
      environment: production
    
    이 예시는 build-job, test-job1, test-job2, deploy-prod 네 개의 작업을 보여줘요. echo 명령에 적힌 주석은 작업을 볼 때 UI에 표시돼요. 사전 정의 변수 $GITLAB_USER_LOGIN$CI_COMMIT_BRANCH의 값은 작업이 실행될 때 채워져요.
  5. Commit changes를 선택하세요.
  6. 파이프라인이 시작되고 .gitlab-ci.yml 파일에 정의한 작업들이 실행돼요.

파이프라인과 작업 상태 확인

이제 파이프라인과 그 작업들을 살펴볼게요.

  1. Build > Pipelines로 이동하세요. 세 개의 스테이지가 있는 파이프라인이 표시되어야 해요.
  2. 파이프라인 ID(이 예시에서는 #2435445330)를 선택하면 파이프라인의 시각적 표현을 볼 수 있어요.
  3. 작업 이름(예: deploy-prod)을 선택하면 작업 세부 정보를 볼 수 있어요.

GitLab에서 첫 번째 CI/CD 파이프라인을 성공적으로 만들었어요. 축하해요!

이제 .gitlab-ci.yml을 사용자 정의하고 더 고급 작업을 정의하는 작업을 시작할 수 있어요.

.gitlab-ci.yml

.gitlab-ci.yml 파일을 작업할 때 시작하는 데 도움이 되는 몇 가지 팁이에요.

완전한 .gitlab-ci.yml 문법은 CI/CD YAML 문법 참조를 참고하세요.

  • 파이프라인 편집기를 사용해 .gitlab-ci.yml 파일을 편집하세요.
  • 각 작업은 script 섹션을 포함하고 스테이지에 속해요.
  • 작업과 스테이지가 동작하는 방식을 사용자 정의하는 추가 설정을 할 수 있어요.
    • rules 키워드를 사용해 작업을 언제 실행하거나 건너뛸지 지정하세요. 레거시 onlyexcept 키워드도 여전히 지원되지만, 같은 작업에서 rules와 함께 사용할 수는 없어요.
    • cacheartifacts로 파이프라인 전체에서 작업·스테이지 간 정보를 지속시켜요. 이 키워드들은 각 작업에 임시 러너를 쓰더라도 의존성과 작업 출력을 저장하는 방법이 돼요.
    • default 키워드를 사용해 모든 작업에 적용되는 추가 구성을 지정하세요. 이 키워드는 모든 작업에서 실행되어야 하는 before_scriptafter_script 섹션을 정의할 때 자주 사용돼요.

관련 주제

다음에서 마이그레이션하세요.

더 알아보기

첫 파이프라인을 띄웠다면 다음 단계로 튜토리얼: 복잡한 파이프라인 만들기를 살펴보세요. 단계를 거듭하며 파이프라인에 기능을 더하는 방식으로 배울 수 있고, CI/CD YAML 문법 참조를 통해 더 풍부한 키워드를 익힐 수 있답니다.