튜토리얼: 첫 번째 GitLab CI/CD 파이프라인 생성 및 실행
이 튜토리얼에서는 GitLab에서 첫 번째 CI/CD 파이프라인을 구성하고 실행하는 방법을 보여줍니다.
기본 CI/CD 개념에 익숙하다면, 복잡한 파이프라인 생성 튜토리얼에서 공통 키워드에 대해 배울 수 있습니다.
전제 조건
시작하기 전에 다음이 필요합니다:
- CI/CD를 사용하고 싶은 GitLab 프로젝트.
- 프로젝트에 대한 Maintainer 또는 Owner 역할.
프로젝트가 없는 경우, https://gitlab.com에서 무료로 공개 프로젝트를 생성할 수 있습니다.
단계
첫 번째 파이프라인을 생성하고 실행하려면:
-
GitLab.com을 사용하는 경우 이 단계는 건너뛸 수 있습니다. GitLab.com은 인스턴스 러너를 제공합니다.
-
.gitlab-ci.yml
파일을 생성하세요
저장소의 루트에 위치합니다. 이 파일은 CI/CD 작업을 정의하는 곳입니다.
파일을 저장소에 커밋하면 러너가 작업을 실행합니다.
작업 결과는 파이프라인에서 표시됩니다.
러너가 있는지 확인하세요
GitLab에서 러너는 CI/CD 작업을 실행하는 에이전트입니다.
사용 가능한 러너를 보려면:
- Settings > CI/CD로 이동한 후 Runners를 확장하세요.
활성 상태의 러너가 하나 이상 있으면, 그 옆에 초록색 원이 표시되며, 작업을 처리할 수 있는 러너가 있습니다.
러너가 없는 경우
러너가 없으면:
- 로컬 머신에 GitLab Runner를 설치하세요.
-
프로젝트용 러너를 등록하세요.
shell
실행기를 선택하세요.
CI/CD 작업이 실행되면, 이후 단계에서 로컬 머신에서 실행됩니다.
.gitlab-ci.yml
파일 생성
이제 .gitlab-ci.yml
파일을 생성하세요. 이는 GitLab CI/CD를 위한 지침을 지정하는 YAML 파일입니다.
이 파일에서 정의하는 내용:
- 러너가 실행해야 하는 작업의 구조와 순서.
- 특정 조건이 발생했을 때 러너가 내릴 결정.
프로젝트에서 .gitlab-ci.yml
파일을 생성하려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Code > Repository를 선택합니다.
-
파일 목록 위에서 커밋하려는 브랜치를 선택합니다.
확실하지 않은 경우master
또는main
을 유지합니다.
그런 다음 더하기 아이콘 ()를 선택하고 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: production
이 예시는
build-job
,test-job1
,test-job2
,deploy-prod
네 가지 작업을 보여줍니다.
echo
명령의 주석은 작업을 볼 때 UI에 표시됩니다.
작업이 실행될 때, 미리 정의된 변수인
$GITLAB_USER_LOGIN
및$CI_COMMIT_BRANCH
의 값이 채워집니다. - Commit changes를 선택합니다.
파이프라인이 시작되고 .gitlab-ci.yml
파일에 정의한 작업이 실행됩니다.
파이프라인 및 작업 상태 보기
이제 파이프라인과 그 안의 작업을 살펴보세요.
-
Build > Pipelines로 이동합니다. 세 개의 단계가 있는 파이프라인이 표시되어야 합니다:
-
파이프라인 ID를 선택하여 파이프라인의 시각적 표현을 확인하세요:
-
작업 이름을 선택하여 작업의 세부 정보를 확인하세요. 예를 들어,
deploy-prod
:
GitLab에서 첫 번째 CI/CD 파이프라인을 성공적으로 생성했습니다. 축하합니다!
이제 .gitlab-ci.yml
을 사용자 정의하고 더 고급 작업을 정의하는 것을 시작할 수 있습니다.
.gitlab-ci.yml
팁
.gitlab-ci.yml
파일을 사용하여 작업하는 데 도움이 되는 몇 가지 팁입니다.
전체 .gitlab-ci.yml
구문에 대해서는 CI/CD YAML 구문 참조를 확인하세요.
-
파이프라인 편집기를 사용하여
.gitlab-ci.yml
파일을 편집합니다. - 각 작업에는 스크립트 섹션이 포함되어 있으며 단계에 속합니다:
-
stage
는 작업의 순차적 실행을 설명합니다. 사용 가능한 러너가 있을 경우, 단일 단계의 작업은 병렬로 실행됩니다. -
needs
키워드를 사용하여 작업을 단계 순서 외부에서 실행하여 파이프라인 속도와 효율성을 높입니다.
-
- 작업과 단계가 수행되는 방식을 사용자 정의하기 위해 추가 구성을 설정할 수 있습니다:
-
rules
키워드를 사용하여 작업을 실행하거나 건너뛸 시기를 지정합니다.only
및except
레거시 키워드는 여전히 지원되지만, 같은 작업에서rules
와 함께 사용할 수 없습니다. -
cache
와artifacts
를 사용하여 파이프라인에서 작업과 단계 간의 정보를 지속적으로 유지합니다. 이 키워드는 각 작업에 대해 일시적인 러너를 사용할 때도 종속성과 작업 출력을 저장하는 방법입니다. -
default
키워드를 사용하여 모든 작업에 적용되는 추가 구성을 지정합니다. 이 키워드는 종종 각 작업에서 실행되어야 하는before_script
와after_script
섹션을 정의하는 데 사용됩니다.
-
관련 주제
다음에서 마이그레이션합니다:
시청하세요:
- 처음 보는 GitLab 및 CI/CD. GitLab에 대한 간단한 소개와 CI/CD의 첫 단계, Go 프로젝트 빌드, 테스트 실행, CI/CD 파이프라인 편집기 사용, 비밀 및 보안 취약점 감지, 그리고 비동기 연습을 위한 추가 연습이 포함되어 있습니다.
- GitLab CI 소개. 이 워크샵에서는 웹 IDE를 사용하여 CI/CD를 사용하여 소스 코드를 빠르게 구축하고, 단위 테스트를 실행하는 방법을 보여줍니다.