GitLab CI/CD 시작하기
시작하기 전에 다음 사항을 확인합니다.
- CI/CD를 사용하려는 GitLab의 프로젝트
- 프로젝트에 대한 Maintainer 또는 Owner 권한
프로젝트가 없다면 GitLab.com에서 공개 프로젝트를 만들 수 있습니다.
CI/CD 프로세스 개요
GitLab CI/CD를 사용하려면 :
- Job을 실행할 수 있는 러너(Runner)가 있는지 확인합니다. 러너가 없으면 GitLab Runner를 설치하고 인스턴스, 프로젝트 또는 그룹에 대한 Runner(러너)를 등록합니다.
.gitlab-ci.yml
파일을 리포지터리의 루트에 생성합니다. 이 파일은 CI/CD job을 정의하는 곳입니다.
파일을 리포지터리에 커밋하면 러너가 job을 실행합니다. Job 결과는 파이프라인에 표시됩니다.
러너(Runner)를 사용할 수 있는지 확인
GitLab에서 러너는 CI/CD job을 실행하는 에이전트입니다.
사용 가능한 러너를 보려면 :
- Settings > CI/CD로 이동하여 Runners를 확장합니다.
활성 상태인 러너가 하나 이상 있고 그 옆에 녹색 원이 있으면, job을 처리할 수 있는 러너가 있는 것입니다.
UI의 Runners 페이지에 러너가 나열되지 않으면, 사용자 또는 시스템 관리자가 GitLab Runner를 설치하고 하나 이상의 러너를 등록해야 합니다.
CI/CD를 테스트할 때, 로컬 컴퓨터에 GitLab Runner를 설치하고 러너를 등록할 수 있습니다. CI/CD job이 실행되면 이후 단계에 로컬 컴퓨터에서도 실행됩니다.
.gitlab-ci.yml
파일 생성
.gitlab-ci.yml
파일은 GitLab CI/CD에 대한 특정 지침을 구성하는 YAML 파일입니다.
이 파일에서는 다음을 정의합니다.
- 러너가 실행해야 하는 job의 구조와 순서
- 특정 조건이 발생할 때 러너가 내려야 하는 결정
예를 들어, master
를 제외한 브랜치에 커밋할 때 테스트 모음을 실행할 수 있습니다. master
에 커밋하면 동일한 테스트 스위트(Test Suite)를 실행하고 애플리케이션도 게시하려고 합니다.
이 모든 것은 .gitlab-ci.yml
파일에 정의되어 있습니다.
.gitlab-ci.yml
파일을 생성하려면 :
- 왼쪽 사이드바에서 Code > Repository로 이동합니다.
- 파일 목록 위에서, 커밋할 브랜치를 선택합니다. 확신이 서지 않는다면,
master
나main
을 떠납니다. 그다음, 플러스(+) 아이콘을 클릭하고, New file을 선택합니다.
- 파일 이름으로
.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
이 예는 다음 4가지 job을 보여줍니다. build-job
, test-job1
, test-job2
, deploy-prod
. echo
명령에 열거된 코멘트는 job을 볼 때 UI에 표시됩니다. $GITLAB_USER_LOGIN
및 $CI_COMMIT_BRANCH
는 job이 실행될 때 채워지는 미리 정의된 변숫값입니다.
- Commit changes 버튼을 클릭합니다.
커밋되면 파이프라인이 시작되고, .gitlab-ci.yml
파일에 정의한 job을 실행합니다.
파이프라인과 job 상태 보기
변경 사항을 커밋하면 파이프라인이 시작됩니다.
파이프라인을 보려면 :
- Build > Pipelines로 이동합니다.
세 단계(Stage)의 파이프라인이 표시되어야 합니다.
- 파이프라인의 시각적 표현을 보려면, 파이프라인 ID를 클릭 합니다.
- Job의 세부 정보를 보려면, job 이름(예:
deploy-prod
)을 클릭합니다.
GitLab에서 첫 CI/CD 파이프라인을 성공적으로 만들었습니다. 축하합니다!
이제 .gitlab-ci.yml
을 맞춤화하고, 더 고급 수준인 job을 정의할 수 있습니다.
.gitlab-ci.yml
팁
.gitlab-ci.yml
파일로 작업을 시작하기 위한 팁이 있습니다.
전체 .gitlab-ci.yml
구문은 전체 .gitlab-ci.yml
키워드 레퍼런스를 확인하세요.
- 파이프라인 에디터를 사용해
.gitlab-ci.yml
파일을 편집합니다. - 각 job은 스크립트 섹션을 포함하며, 이는 스테이지에 속합니다.
stage
는 job의 순차 실행을 설명합니다. 사용할 수 있는 여러 개의 러너가 있다면, 단일 스테이지에서 job은 병렬로 실행됩니다.- 스테이지 순서에서 벗어나 job을 실행하려면
needs
키워드를 사용합니다. 이는 Directed Acyclic Graph(DAG)를 만듭니다.
- 추가 구성을 설정해 job과 스테이지 수행 방식을 맞춤화할 수 있습니다.
rules
키워드를 사용해 언제 job을 실행하고 건너뛸지 지정합니다.only
와except
레거시 키워드는 여전히 지원되지만 같은 job에서rules
와 함께 사용할 수 없습니다.cache
와artifact
를 사용해 파이프라인에서 job과 스테이지 전반에 걸쳐 정보를 지속적으로 유지합니다. 이러한 키워드는 각 job에 임시 러너를 사용할 때도 의존성과 job 출력을 저장하는 방법입니다.default
키워드를 사용해 모든 job에 적용되는 추가 구성을 지정합니다. 이 키워드는 모든 job에 실행되도록before_script
와after_script
를 정의하는 데 자주 사용됩니다.
⚠️ 사전 동의 없이 2차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.