반응형
CI / CD 파이프라인 (GitLab)
파이프라인은 지속적 통합(CI), 제공(CD), 배포(CD) 의 최상위 구성요소입니다.
파이프라인 구성
파이프라인은 다음과 같이 구성됩니다.
- Jobs :: 수행할 작업을 정의합니다. 코드를 컴파일하거나 테스트하는 작업입니다.
- Stages :: 작업 실행 시기를 정의하는 단계입니다. [코드를 컴파일하는 단계] 이후에 테스트를 실행하는 단계입니다.
jobs는 runner 에 의해 실행됩니다. 충분한 runners 가 있다면 동일한 stage 의 여러개의 작업이 동시에 실행됩니다.
한 단계의 모든 jobs 가 성공하면 파이프라인이 다음 단계로 이동합니다.
만약 특정 단계에서 job 이 실패하면 일반적으로 다음 stage가 실행되지 않고 파이프라인이 종료됩니다.
일반적으로 파이프라인은 자동으로 실행되며 일단 생성되면 특별한 개입이 필요하지 않습니다. 그러나 파이프라인과 수동으로 상호 작용할 수도 있습니다.
일반적인 파이프라인은 4 개의 stage 로 구성되는데, 아래와 같은 순서로 실행됩니다 :
build
stage ::compile
이라 불리는 job 을 가집니다.test
stage ::test1
과test2
라 불리는 job 두개를 가집니다.staging
stage ::deploy-to-stage
라 불리는 job 을 가집니다.production
stage ::deploy-to-prod
라 불리는 job 을 가집니다.
파이프라인 종류
파이프라인은 많은 다른 방법으로 설정될 수 있습니다.
- Basic pipelines : 기본 파이프라인은 각 stage 에서 모든 것을 동시에 실행하고 다음 stage 를 수행합니다.
- DAG(Directed Asyclic Graph Pipeline) : DAG 파이프라인은 job 간의 관계를 기반으로 하며 기본 파이프라인보다 더 빠르게 실행할 수 있습니다.
- Merge request pipelines : MR 파이프라인은 모든 커밋이 아닌 병합 요청에 대해서만 실행됩니다.
- Merged result piplines : 소스 브랜치가 이미 목표 브랜치에 머지 된 상태의 MR 파이프라인입니다.
- Merge trains : Merged Result 파이프라인을 사용하여 머지 큐(대기열)에 넣습니다.
- Parent-child pipelines : 복잡한 파이프라인을 하나의 부모 파이프라인으로 분해하여 여러 자식 하위 파이프라인을 제어할 수 있으며, 모두 동일한 프로젝트에서 동일한 SHA로 실행됩니다. 이 파이프라인 아키텍처는 일반적으로 모노 레포에 사용됩니다.
- Multi-project pipelines : 서로 다른 프로젝트를 위한 파이프라인을 함께 결합합니다.
파이프라인 설정
파이프라인과 jobs 와 stage 는 각 프로젝트의 CI/CD 파이프라인 구성 파일에 정의됩니다.
- Jobs 는 기본 설정(configuration) 컴포넌트 입니다.
- stage 는
stages
키워드를 사용하여 정의됩니다.
CI 파이프라인 파일의 구성 목록은 GitLab CI/CD 파이프라인 구성 참조를 참조하십시오.
GitLab UI를 통해 파이프라인을 구성할 수도 있습니다.
- Pipeline settings for each project.
- Pipeline schedules.
- Custom CI/CD variables.
반응형
'BACKEND > DevOps' 카테고리의 다른 글
220630 목 GitLab Runner 설치 방법 (0) | 2022.07.01 |
---|---|
220629 수 GitLab CI Runners & Executors 간단한 가이드 (0) | 2022.06.29 |
220628 화 CI / CD 개념 (0) | 2022.06.28 |
210704 클라우드 컴퓨팅의 정의 및 분류 (0) | 2021.07.04 |
댓글