튜토리얼: 첫 번째 GitLab CI/CD 파이프라인 만들기 및 실행
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에서 무료로 공개 프로젝트를 만들 수 있습니다.
단계#
첫 번째 파이프라인을 만들고 실행하려면:
-
job을 실행할 수 있는 러너가 있는지 확인합니다.
GitLab.com을 사용하고 있다면 이 단계를 건너뛸 수 있습니다. GitLab.com은 인스턴스 러너를 제공합니다.
-
리포지터리의 루트에
.gitlab-ci.yml파일을 만듭니다. 이 파일은 CI/CD job을 정의하는 파일입니다.
리포지터리에 파일을 커밋하면 러너가 job을 실행합니다. job 결과는 파이프라인에 표시됩니다.
러너가 있는지 확인#
GitLab에서 러너는 CI/CD job을 실행하는 에이전트입니다.
GitLab.com을 사용하고 있다면 이 단계를 건너뛸 수 있습니다. GitLab.com은 인스턴스 러너를 제공합니다.
사용 가능한 러너를 보려면:
- 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 설정 > CI/CD를 선택합니다.
- 러너를 펼칩니다.
녹색 원이 옆에 있는 활성 러너가 하나 이상 있으면 job을 처리할 러너가 있는 것입니다.
이러한 설정에 액세스할 수 없는 경우 GitLab 관리자에게 문의하세요.
러너가 없는 경우#
러너가 없는 경우:
- 로컬 머신에 GitLab Runner를 설치합니다.
- 프로젝트에 대해 러너를 등록합니다.
shellexecutor를 선택합니다.
이후 단계에서 CI/CD job이 실행되면 로컬 머신에서 실행됩니다.
.gitlab-ci.yml 파일 만들기#
이제 .gitlab-ci.yml 파일을 만듭니다. GitLab CI/CD 지침을 지정하는 YAML 파일입니다.
이 파일에서 다음을 정의합니다:
- 러너가 실행해야 하는 job의 구조와 순서.
- 특정 조건이 발생할 때 러너가 내려야 하는 결정.
프로젝트에 .gitlab-ci.yml 파일을 만들려면:
-
상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 코드 > 리포지터리를 선택합니다.
-
파일 목록 위에서 커밋할 브랜치를 선택합니다. 확실하지 않으면
master또는main을 그대로 유지합니다. 그런 다음 오른쪽 상단에서 플러스 아이콘(+) 및 새 파일을 선택합니다:
-
파일 이름으로
.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이 실행될 때 채워집니다. -
변경 사항 커밋을 선택합니다.
파이프라인이 시작되어 .gitlab-ci.yml 파일에서 정의한 job을 실행합니다.
파이프라인 및 job 상태 보기#
이제 파이프라인과 그 안의 job을 살펴봅니다.
-
빌드 > 파이프라인으로 이동합니다. 세 단계가 있는 파이프라인이 표시되어야 합니다:

-
파이프라인 ID(이 예시에서는
#676)를 선택하여 파이프라인의 시각적 표현을 봅니다:
-
job 이름을 선택하여 job의 세부 정보를 봅니다. 예를 들어
deploy-prod:
GitLab에서 첫 번째 CI/CD 파이프라인을 성공적으로 만들었습니다. 축하합니다!
이제 .gitlab-ci.yml을 사용자 정의하고 더 고급 job을 정의할 수 있습니다.
.gitlab-ci.yml 팁#
.gitlab-ci.yml 파일 작업을 시작하기 위한 몇 가지 팁:
전체 .gitlab-ci.yml 구문은 전체 CI/CD YAML 구문 참조를 참조하세요.
- 파이프라인 편집기를 사용하여
.gitlab-ci.yml파일을 편집합니다. - 각 job은 script 섹션을 포함하고 단계에 속합니다:
stage는 job의 순차적 실행을 설명합니다. 러너가 있으면 단일 단계의 job은 병렬로 실행됩니다.- 파이프라인 속도와 효율성을 높이기 위해
needs키워드를 사용하여 단계 순서 없이 job을 실행합니다.
- job 및 단계의 수행 방식을 사용자 정의하는 추가 구성을 설정할 수 있습니다:
rules키워드를 사용하여 job을 실행하거나 건너뛸 시기를 지정합니다.only및except레거시 키워드는 여전히 지원되지만 동일한 job에서rules와 함께 사용할 수 없습니다.cache및artifacts로 job 및 단계 전반에 걸쳐 정보를 파이프라인에서 지속적으로 유지합니다. 이러한 키워드는 각 job에 임시 러너를 사용하는 경우에도 종속성 및 job 출력을 저장하는 방법입니다.default키워드를 사용하여 모든 job에 적용되는 추가 구성을 지정합니다. 이 키워드는 모든 job에서 실행되어야 하는before_script및after_script섹션을 정의하는 데 자주 사용됩니다.
관련 주제#
다음에서 마이그레이션:
시청:
- 처음 사용하는 GitLab & CI/CD. GitLab의 간략한 소개, CI/CD의 첫 단계, Go 프로젝트 빌드, 테스트 실행, CI/CD 파이프라인 편집기 사용, 시크릿 및 보안 취약점 감지, 비동기 연습 등이 포함됩니다.
- GitLab CI 입문. 이 워크숍은 Web IDE를 사용하여 CI/CD로 소스 코드를 빌드하고 단위 테스트를 실행하는 방법을 빠르게 설명합니다.
