InfoGrab Docs

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

요약

이 튜토리얼은 GitLab에서 첫 번째 CI/CD 파이프라인을 구성하고 실행하는 방법을 보여줍니다. 기본 CI/CD 개념에 이미 익숙하다면 튜토리얼: 복잡한 파이프라인 만들기에서 일반적인 키워드에 대해 알아볼 수 있습니다.

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

기본 CI/CD 개념에 이미 익숙하다면 튜토리얼: 복잡한 파이프라인 만들기에서 일반적인 키워드에 대해 알아볼 수 있습니다.

필수 요건#

시작하기 전에 다음이 있는지 확인하세요:

  • CI/CD를 사용하려는 GitLab 프로젝트.
  • 프로젝트에 대한 Maintainer 또는 Owner 권한.

프로젝트가 없다면 https://gitlab.com에서 무료로 공개 프로젝트를 만들 수 있습니다.

단계#

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

  1. job을 실행할 수 있는 러너가 있는지 확인합니다.

    GitLab.com을 사용하고 있다면 이 단계를 건너뛸 수 있습니다. GitLab.com은 인스턴스 러너를 제공합니다.

  2. 리포지터리의 루트에 .gitlab-ci.yml 파일을 만듭니다. 이 파일은 CI/CD job을 정의하는 파일입니다.

리포지터리에 파일을 커밋하면 러너가 job을 실행합니다. job 결과는 파이프라인에 표시됩니다.

러너가 있는지 확인#

GitLab에서 러너는 CI/CD job을 실행하는 에이전트입니다.

GitLab.com을 사용하고 있다면 이 단계를 건너뛸 수 있습니다. GitLab.com은 인스턴스 러너를 제공합니다.

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

  1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 설정 > CI/CD를 선택합니다.
  3. 러너를 펼칩니다.

녹색 원이 옆에 있는 활성 러너가 하나 이상 있으면 job을 처리할 러너가 있는 것입니다.

이러한 설정에 액세스할 수 없는 경우 GitLab 관리자에게 문의하세요.

러너가 없는 경우#

러너가 없는 경우:

  1. 로컬 머신에 GitLab Runner를 설치합니다.
  2. 프로젝트에 대해 러너를 등록합니다. shell executor를 선택합니다.

이후 단계에서 CI/CD job이 실행되면 로컬 머신에서 실행됩니다.

.gitlab-ci.yml 파일 만들기#

이제 .gitlab-ci.yml 파일을 만듭니다. GitLab CI/CD 지침을 지정하는 YAML 파일입니다.

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

  • 러너가 실행해야 하는 job의 구조와 순서.
  • 특정 조건이 발생할 때 러너가 내려야 하는 결정.

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

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

  2. 왼쪽 사이드바에서 코드 > 리포지터리를 선택합니다.

  3. 파일 목록 위에서 커밋할 브랜치를 선택합니다. 확실하지 않으면 master 또는 main을 그대로 유지합니다. 그런 다음 오른쪽 상단에서 플러스 아이콘(+) 및 새 파일을 선택합니다:

    현재 폴더에 파일을 만들기 위한 새 파일 버튼.

  4. 파일 이름으로 .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의 네 가지 job을 보여줍니다. echo 명령에 나열된 주석은 job을 볼 때 UI에 표시됩니다. 미리 정의된 변수 $GITLAB_USER_LOGIN$CI_COMMIT_BRANCH의 값은 job이 실행될 때 채워집니다.

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

파이프라인이 시작되어 .gitlab-ci.yml 파일에서 정의한 job을 실행합니다.

파이프라인 및 job 상태 보기#

이제 파이프라인과 그 안의 job을 살펴봅니다.

  1. 빌드 > 파이프라인으로 이동합니다. 세 단계가 있는 파이프라인이 표시되어야 합니다:

    파이프라인 목록에는 3단계가 있는 실행 중인 파이프라인이 표시됩니다

  2. 파이프라인 ID(이 예시에서는 #676)를 선택하여 파이프라인의 시각적 표현을 봅니다:

    파이프라인 그래프는 모든 단계에서 각 job, 상태 및 종속성을 보여줍니다.

  3. job 이름을 선택하여 job의 세부 정보를 봅니다. 예를 들어 deploy-prod:

    job 세부 정보 페이지에는 현재 상태, 타이밍 정보 및 로그 출력이 표시됩니다.

GitLab에서 첫 번째 CI/CD 파이프라인을 성공적으로 만들었습니다. 축하합니다!

이제 .gitlab-ci.yml을 사용자 정의하고 더 고급 job을 정의할 수 있습니다.

.gitlab-ci.yml#

.gitlab-ci.yml 파일 작업을 시작하기 위한 몇 가지 팁:

전체 .gitlab-ci.yml 구문은 전체 CI/CD YAML 구문 참조를 참조하세요.

  • 파이프라인 편집기를 사용하여 .gitlab-ci.yml 파일을 편집합니다.
  • 각 job은 script 섹션을 포함하고 단계에 속합니다:
  • job 및 단계의 수행 방식을 사용자 정의하는 추가 구성을 설정할 수 있습니다:
    • rules 키워드를 사용하여 job을 실행하거나 건너뛸 시기를 지정합니다. onlyexcept 레거시 키워드는 여전히 지원되지만 동일한 job에서 rules와 함께 사용할 수 없습니다.
    • cacheartifacts로 job 및 단계 전반에 걸쳐 정보를 파이프라인에서 지속적으로 유지합니다. 이러한 키워드는 각 job에 임시 러너를 사용하는 경우에도 종속성 및 job 출력을 저장하는 방법입니다.
    • default 키워드를 사용하여 모든 job에 적용되는 추가 구성을 지정합니다. 이 키워드는 모든 job에서 실행되어야 하는 before_scriptafter_script 섹션을 정의하는 데 자주 사용됩니다.

관련 주제#

다음에서 마이그레이션:

시청:

  •  처음 사용하는 GitLab & CI/CD. GitLab의 간략한 소개, CI/CD의 첫 단계, Go 프로젝트 빌드, 테스트 실행, CI/CD 파이프라인 편집기 사용, 시크릿 및 보안 취약점 감지, 비동기 연습 등이 포함됩니다.
  •  GitLab CI 입문. 이 워크숍은 Web IDE를 사용하여 CI/CD로 소스 코드를 빌드하고 단위 테스트를 실행하는 방법을 빠르게 설명합니다.

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

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

이 튜토리얼은 GitLab에서 첫 번째 CI/CD 파이프라인을 구성하고 실행하는 방법을 보여줍니다. 기본 CI/CD 개념에 이미 익숙하다면 튜토리얼: 복잡한 파이프라인 만들기에서 일반적인 키워드에 대해 알아볼 수 있습니다.

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

기본 CI/CD 개념에 이미 익숙하다면 튜토리얼: 복잡한 파이프라인 만들기에서 일반적인 키워드에 대해 알아볼 수 있습니다.

필수 요건#

시작하기 전에 다음이 있는지 확인하세요:

  • CI/CD를 사용하려는 GitLab 프로젝트.
  • 프로젝트에 대한 Maintainer 또는 Owner 권한.

프로젝트가 없다면 https://gitlab.com에서 무료로 공개 프로젝트를 만들 수 있습니다.

단계#

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

  1. job을 실행할 수 있는 러너가 있는지 확인합니다.

    GitLab.com을 사용하고 있다면 이 단계를 건너뛸 수 있습니다. GitLab.com은 인스턴스 러너를 제공합니다.

  2. 리포지터리의 루트에 .gitlab-ci.yml 파일을 만듭니다. 이 파일은 CI/CD job을 정의하는 파일입니다.

리포지터리에 파일을 커밋하면 러너가 job을 실행합니다. job 결과는 파이프라인에 표시됩니다.

러너가 있는지 확인#

GitLab에서 러너는 CI/CD job을 실행하는 에이전트입니다.

GitLab.com을 사용하고 있다면 이 단계를 건너뛸 수 있습니다. GitLab.com은 인스턴스 러너를 제공합니다.

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

  1. 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 설정 > CI/CD를 선택합니다.
  3. 러너를 펼칩니다.

녹색 원이 옆에 있는 활성 러너가 하나 이상 있으면 job을 처리할 러너가 있는 것입니다.

이러한 설정에 액세스할 수 없는 경우 GitLab 관리자에게 문의하세요.

러너가 없는 경우#

러너가 없는 경우:

  1. 로컬 머신에 GitLab Runner를 설치합니다.
  2. 프로젝트에 대해 러너를 등록합니다. shell executor를 선택합니다.

이후 단계에서 CI/CD job이 실행되면 로컬 머신에서 실행됩니다.

.gitlab-ci.yml 파일 만들기#

이제 .gitlab-ci.yml 파일을 만듭니다. GitLab CI/CD 지침을 지정하는 YAML 파일입니다.

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

  • 러너가 실행해야 하는 job의 구조와 순서.
  • 특정 조건이 발생할 때 러너가 내려야 하는 결정.

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

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

  2. 왼쪽 사이드바에서 코드 > 리포지터리를 선택합니다.

  3. 파일 목록 위에서 커밋할 브랜치를 선택합니다. 확실하지 않으면 master 또는 main을 그대로 유지합니다. 그런 다음 오른쪽 상단에서 플러스 아이콘(+) 및 새 파일을 선택합니다:

    현재 폴더에 파일을 만들기 위한 새 파일 버튼.

  4. 파일 이름으로 .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의 네 가지 job을 보여줍니다. echo 명령에 나열된 주석은 job을 볼 때 UI에 표시됩니다. 미리 정의된 변수 $GITLAB_USER_LOGIN$CI_COMMIT_BRANCH의 값은 job이 실행될 때 채워집니다.

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

파이프라인이 시작되어 .gitlab-ci.yml 파일에서 정의한 job을 실행합니다.

파이프라인 및 job 상태 보기#

이제 파이프라인과 그 안의 job을 살펴봅니다.

  1. 빌드 > 파이프라인으로 이동합니다. 세 단계가 있는 파이프라인이 표시되어야 합니다:

    파이프라인 목록에는 3단계가 있는 실행 중인 파이프라인이 표시됩니다

  2. 파이프라인 ID(이 예시에서는 #676)를 선택하여 파이프라인의 시각적 표현을 봅니다:

    파이프라인 그래프는 모든 단계에서 각 job, 상태 및 종속성을 보여줍니다.

  3. job 이름을 선택하여 job의 세부 정보를 봅니다. 예를 들어 deploy-prod:

    job 세부 정보 페이지에는 현재 상태, 타이밍 정보 및 로그 출력이 표시됩니다.

GitLab에서 첫 번째 CI/CD 파이프라인을 성공적으로 만들었습니다. 축하합니다!

이제 .gitlab-ci.yml을 사용자 정의하고 더 고급 job을 정의할 수 있습니다.

.gitlab-ci.yml#

.gitlab-ci.yml 파일 작업을 시작하기 위한 몇 가지 팁:

전체 .gitlab-ci.yml 구문은 전체 CI/CD YAML 구문 참조를 참조하세요.

  • 파이프라인 편집기를 사용하여 .gitlab-ci.yml 파일을 편집합니다.
  • 각 job은 script 섹션을 포함하고 단계에 속합니다:
  • job 및 단계의 수행 방식을 사용자 정의하는 추가 구성을 설정할 수 있습니다:
    • rules 키워드를 사용하여 job을 실행하거나 건너뛸 시기를 지정합니다. onlyexcept 레거시 키워드는 여전히 지원되지만 동일한 job에서 rules와 함께 사용할 수 없습니다.
    • cacheartifacts로 job 및 단계 전반에 걸쳐 정보를 파이프라인에서 지속적으로 유지합니다. 이러한 키워드는 각 job에 임시 러너를 사용하는 경우에도 종속성 및 job 출력을 저장하는 방법입니다.
    • default 키워드를 사용하여 모든 job에 적용되는 추가 구성을 지정합니다. 이 키워드는 모든 job에서 실행되어야 하는 before_scriptafter_script 섹션을 정의하는 데 자주 사용됩니다.

관련 주제#

다음에서 마이그레이션:

시청:

  •  처음 사용하는 GitLab & CI/CD. GitLab의 간략한 소개, CI/CD의 첫 단계, Go 프로젝트 빌드, 테스트 실행, CI/CD 파이프라인 편집기 사용, 시크릿 및 보안 취약점 감지, 비동기 연습 등이 포함됩니다.
  •  GitLab CI 입문. 이 워크숍은 Web IDE를 사용하여 CI/CD로 소스 코드를 빌드하고 단위 테스트를 실행하는 방법을 빠르게 설명합니다.