DevOps/GitLab

GitLab

우드의개발개발 2024. 10. 22. 17:37

YAML FILE

이 YAML 파일은 GitLab CI/CD 파이프라인 구성을 보여주고 있습니다. 이를 통해 코드가 특정 브랜치로 커밋될 때 테스트와 배포 작업을 자동으로 처리할 수 있습니다.

1. Pipeline

파이프라인이란 작업들을 논리적으로 묶어서 실행하는 단위를 말합니다. 이 예시에서는 `My Awesome App Pipeline`이라는 이름을 가진 파이프라인이 정의되어 있습니다.

 

rules

조건에 따라 파이프라인 실행 여부를 결정합니다. 여기서는 `main` 브랜치로 커밋이 발생했을 때 파이프라인이 실행되도록 설정되어 있습니다.


2. Stages

파이프라인은 여러 단계(stages)로 나눌 수 있습니다. 각 단계는 연속적으로 실행됩니다. 여기서 test와 deploy라는 두 가지 단계가 정의되어 있습니다.

3. Jobs
각 단계에는 여러 작업(job)이 존재할 수 있습니다. 작업은 각 단계에서 실행되는 개별 단위입니다.

 

unit_test_job

test단계에서 실행되는 작업입니다. Node.js 관련 명령어를 실행합니다.


deploy_job

deploy 단계에서 실행되는 작업입니다. 단순히 "Deploying..."이라는 메시지를 출력합니다.

 

4. Script Sections

 

before_script: 각 작업이 시작되기 전에 실행될 명령어입니다. 여기서는 "NodeJS 설치 명령 추가"라는 로그를 남깁니다.

 

script

실제 작업을 수행하는 명령어들입니다. `unit_test_job`의 경우, Node.js 패키지를 설치하고 테스트를 실행하는 명령어들이 실행됩니다.

 

after_script: 작업이 끝난 후 실행될 명령어입니다. "스크립트 섹션 후 실행"이라는 로그를 남깁니다.

 

5. Tags


특정 Runner에서만 작업이 실행되도록 설정할 수 있는 태그입니다. 이 경우, `saas-linux-small-amd64`라는 태그를 가진 Runner에서만 `unit_test_job`이 실행됩니다.

전체 흐름
main 브랜치에 커밋이 발생하면, 먼저 `test` 단계에서 `unit_test_job`이 실행됩니다. 이때 Node.js 설치, 패키지 설치, 테스트 등이 실행됩니다. 이후, 테스트가 성공적으로 끝나면 `deploy` 단계에서 `deploy_job`이 실행되고, "Deploying..."이라는 메시지를 출력합니다.