💽 CICD/Git

[Gitlab] Gitlab CI/CD 파이프라인

heywantodo 2025. 1. 8. 10:12
728x90
반응형

[Gitlab] Gitlab CI/CD 파이프라인

이전 포스팅에서 github의 Action에 대해서 포스팅 한 적이 있었다.

 

[CI/CD] Git hub Action

[Git] Git hub Action 🤔Git Hub Action? Git 리포지토리에서 바로 소프트웨어 개발 워크플로우를 자동화하고 실행하는 툴이다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유한

heywantodo.tistory.com

github ActionGit 리포지토리에서 워크 플로우를 구성하여, CI/CD를 포함하여 원하는 작업을 수행하고 자동화하여 실행하는 툴이다.

Gitlab에서도 github action과 같은 역할을 하는 gitlab CI/CD를 사용할 수 있다.

Gitlab 프로세스

 

Gitlab CI/CD는 gitlab에서 제공하는 CI/CD 도구다. 

이를 통해 개발자는 코드 변경 사항을 자동으로 테스트하고 배포할 수 있다.

 

Gitlab CI/CD의 주요 구성 요소는 다음과 같다.

Gilab Runner CI/CD 작업을 실행하는 에이전트다.
다양한 환경에서 실행할 수 있으며, Docker, Shell, K8s 등의 실행 환경을 지원한다.
.gitlab-ci.yml CI/CD 파이프라인을 정의하는 설정 파일이다.
파이프라인에서 실행 할 단계, 작업, 스테이지 및 환경 변수 등을 설정한다.
파이프라인 여러 작업을 단계별로 실행하는 프로세스다.
각 단계는 특정 작업을 수행하며, 성공적으로 완료되면 다음 단계로 넘어간다.
잡(Jobs) 파이프라인 내에서 실행되는 개별 작업이다.
예를 들어, 코드 빌드, 테스트 실행, 배포 등의 작업이 포함된다.
스테이지(Stages) 여러 개의 잡을 그룹화하여 순차적으로 실행할 수 있도록 하는 단계다.
예를 들어 build, test, deploy와 같은 스테이지를 설정할 수 있다.

 

GitLab CI/CD 파이프라인 생성하기

파이프라인을 만들고 실행하기 위해선 다음과 같은 단계가 필요하다.

 

1. 작업을 진행할 Gitlab Runner가 있는지 확인한다. 만약 러너가 없다면 로컬 머신에 Gitlab Runner를 설치 후(https://docs.gitlab.com/runner/install/) 프로젝트에 대한 러너를 등록한다. 

2. `.gitlab-ci.yml` 파일을 repository 루트 경로에 생성한다. 해당 파일을 저장소에 커밋하면 러너가 작업을 실행하고, 작업 결과는 파이프라인에 표시된다.

 

gitlab-ci.yml 파일 정의

`.gitlab-ci.yml` 파일을 생성했으면, 해당 파일에 러너가 실행해야 하는 작업의 구조와 순서를 정의한다.

해당 파일의 문법은 아래 링크에서 확인할 수 있다.

 

CI/CD YAML syntax reference | GitLab

GitLab product documentation.

docs.gitlab.com

 

아래 예에서는 `build-job`, `test-job1`, `test-job2`, `deploy-prod` 4개의 작업을 보여준다.

명령에 나열된 주석은 작업을 볼 때 UI에 표시된다.

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

해당 파일이 커밋되면 파이프라인이 시작되고 파일에서 정의한 작업이 실행된다.

 

파이프라인 및 작업 상태 확인하기

1. 빌드 > 파이프라인으로 이동하면, 3단계의 파이프라인이 표시되어야 한다.

 

2. 파이프라인 ID를 선택하여 파이프라인을 확인할 수 있다.

 

3. 작업 이름을 선택하여 작업의 세부 정보를 확인할 수 있다.

 

이제 사용 사례와 환경에 맞게 Gitlab CI/CD를 구현 할 수 있다. 다양한 예시는 아래 링크에서 확인이 가능하다.

 

GitLab CI/CD examples | GitLab

GitLab product documentation.

docs.gitlab.com

 

참고

https://docs.gitlab.com/ee/topics/build_your_application.html

 

 

728x90
반응형