튜토리얼: 첫 번째 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에서 공개 프로젝트를 무료로 만들 수 있어요.
단계
첫 번째 파이프라인을 만들고 실행하려면:
- 작업을 실행할 러너를 사용할 수 있는지 확인하세요. GitLab.com을 사용한다면 이 단계는 건너뛸 수 있어요. GitLab.com이 인스턴스 러너를 제공해 주거든요.
- 저장소 루트에
.gitlab-ci.yml파일을 만드세요. 이 파일이 CI/CD 작업을 정의하는 곳이에요. 파일을 저장소에 커밋하면 러너가 작업을 실행하고, 작업 결과는 파이프라인으로 표시돼요.
러너를 사용할 수 있는지 확인
GitLab에서 러너는 여러분의 CI/CD 작업을 실행하는 에이전트예요.
GitLab.com을 사용한다면 이 단계는 건너뛸 수 있어요. GitLab.com이 인스턴스 러너를 제공해 주거든요.
사용 가능한 러너를 보려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾으세요.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택하세요.
- Runners를 펼치세요.
- 옆에 녹색 원이 있는 활성 러너가 하나 이상 있다면, 여러분의 작업을 처리할 수 있는 러너가 준비된 거예요.
이 설정에 접근할 수 없다면 GitLab 관리자에게 문의하세요.
러너가 없는 경우
러너가 없다면:
- 로컬 머신에 GitLab Runner를 설치하세요.
- 프로젝트에 러너를 등록하세요.
shell실행기를 선택하세요. - 이후 단계에서 CI/CD 작업이 실행되면 로컬 머신에서 실행돼요.
.gitlab-ci.yml 파일 만들기
이제 .gitlab-ci.yml 파일을 만들어볼게요. 이 파일은 GitLab CI/CD에 지시 사항을 지정하는 YAML 파일이에요.
이 파일에서 정의하는 것은:
- 러너가 실행해야 할 작업의 구조와 순서.
- 특정 조건을 만났을 때 러너가 내려야 할 결정.
프로젝트에 .gitlab-ci.yml 파일을 만들려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾으세요.
- 왼쪽 사이드바에서 Code > Repository를 선택하세요.
- 파일 목록 위에서 커밋할 브랜치를 선택하세요. 모르겠다면 기본 브랜치를 그대로 두세요. 그런 다음 오른쪽 위에서 더하기 아이콘(
+)과 New file을 선택하세요. - 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: productionbuild-job,test-job1,test-job2,deploy-prod네 개의 작업을 보여줘요.echo명령에 적힌 주석은 작업을 볼 때 UI에 표시돼요. 사전 정의 변수$GITLAB_USER_LOGIN과$CI_COMMIT_BRANCH의 값은 작업이 실행될 때 채워져요. - Commit changes를 선택하세요.
- 파이프라인이 시작되고
.gitlab-ci.yml파일에 정의한 작업들이 실행돼요.
파이프라인과 작업 상태 확인
이제 파이프라인과 그 작업들을 살펴볼게요.
- Build > Pipelines로 이동하세요. 세 개의 스테이지가 있는 파이프라인이 표시되어야 해요.
- 파이프라인 ID(이 예시에서는
#2435445330)를 선택하면 파이프라인의 시각적 표현을 볼 수 있어요. - 작업 이름(예:
deploy-prod)을 선택하면 작업 세부 정보를 볼 수 있어요.
GitLab에서 첫 번째 CI/CD 파이프라인을 성공적으로 만들었어요. 축하해요!
이제 .gitlab-ci.yml을 사용자 정의하고 더 고급 작업을 정의하는 작업을 시작할 수 있어요.
.gitlab-ci.yml 팁
.gitlab-ci.yml 파일을 작업할 때 시작하는 데 도움이 되는 몇 가지 팁이에요.
완전한 .gitlab-ci.yml 문법은 CI/CD YAML 문법 참조를 참고하세요.
- 파이프라인 편집기를 사용해
.gitlab-ci.yml파일을 편집하세요. - 각 작업은 script 섹션을 포함하고 스테이지에 속해요.
stage는 작업의 순차 실행을 설명해요. 러너가 사용 가능하다면 단일 스테이지의 작업들은 병렬로 실행돼요.needs키워드를 사용해 작업을 스테이지 순서 밖에서 실행하면 파이프라인 속도와 효율을 높일 수 있어요.
- 작업과 스테이지가 동작하는 방식을 사용자 정의하는 추가 설정을 할 수 있어요.
rules키워드를 사용해 작업을 언제 실행하거나 건너뛸지 지정하세요. 레거시only와except키워드도 여전히 지원되지만, 같은 작업에서rules와 함께 사용할 수는 없어요.cache와artifacts로 파이프라인 전체에서 작업·스테이지 간 정보를 지속시켜요. 이 키워드들은 각 작업에 임시 러너를 쓰더라도 의존성과 작업 출력을 저장하는 방법이 돼요.default키워드를 사용해 모든 작업에 적용되는 추가 구성을 지정하세요. 이 키워드는 모든 작업에서 실행되어야 하는before_script와after_script섹션을 정의할 때 자주 사용돼요.
관련 주제
다음에서 마이그레이션하세요.
더 알아보기
첫 파이프라인을 띄웠다면 다음 단계로 튜토리얼: 복잡한 파이프라인 만들기를 살펴보세요. 단계를 거듭하며 파이프라인에 기능을 더하는 방식으로 배울 수 있고, CI/CD YAML 문법 참조를 통해 더 풍부한 키워드를 익힐 수 있답니다.