본문 바로가기
개발/Git

[GitLab CI/CD] gitlab-ci.yml 파일 설명

by yo.na 2024. 3. 28.

 

✔️ GitLab CI/CD 개념

반복적인 코드 변경사항을 지속적으로 구축, 테스트, 배포 및 모니터링하는 지속적인 소프트웨어 개발 방법.

 

✔️ GitLab CI/CD를 위한 준비

1. GitLab Runner 를 설치해야 한다.

2. 프로젝트 생성

3. .gitlab-ci.yml 파일 생성

 

✔️ .gitlab-ci.yml 파일 설명

GitLab CI/CD 에 대한 지침을 지정하는 YML 파일이다.

이 파일은 Runner 가 실행해야 하는 작업의 구조와 순서이다.

stages:
  - develop
  - build
  - deploy
  
job_develop:
  stage: develop
  only:
  	- develop
  script:
    - echo "develop the project"

job_build:
  stage: build
  only:
  	- main
  script:
    - echo "Building the project"
  after_script:    
    - echo "This is script after Building the project"

job_deploy:
  stage: deploy
  only: 
  	- main
  needs: ['job_build']
  script:
    - echo "Deploy tests"

 

- stages : project branch pipeline의 Stage 를 의미한다.

- job_develop, job_build, job_deploy : 작업의 이름

- stage: 각 작업이 어디에 포함되는지 stages 에 정의한 작업 중에 적어준다.

- only: 타깃 브랜치를 적어준다. job_develop 은 develop 브랜치에서만 가능하고, job_build 와 job_deploy 는 main 브랜치에서 가능하다는 의미이다.

- script: 해당 작업을 시작하는 경우 script에 작성된 명령어가 실행된다. 즉, 해당 작업을 시작하면 실행시키고 싶은 명령어를 작성한다.

after_script: script 이후 실행할 명령어를 작성한다.

- needs: job_deploy 에 있는 needs 는 needs 에 정의한 작업 이후에 해당 작업을 실행할 수 있다는 것을 의미한다. 따라서 job_deploy는 job_build 후에 실행할 수 있다.

 

✔️ Pipelines stage

위와 같이 .gitlab-ci.yml 파일을 구성한다면 우리가 눈으로 보게 될 pipeline의 stage 는 다음과 같은 그림일 것이다.

 

- main branch

- develop branch

 

 

 

 

 

 

참고

https://docs.gitlab.com/ee/ci/runners/