InfoGrab Docs

CI/CD 파이프라인

구성, 자동화, 스테이지, 스케줄, 효율성.

CI/CD 파이프라인은 GitLab CI/CD의 기본 구성 요소입니다. 파이프라인은 YAML 키워드 를 사용하여 .gitlab-ci.yml 파일에 구성됩니다. 파이프라인은 브랜치에 푸시하거나, 머지 요청을 생성하거나, 일정에 따라 자동으로 실행될 수 있습니다. 필요한 경우 파이프라인을 수동으로 실행할 수도 있습니다. 파이프라인은 다음으로 구성됩니다: 프로젝트 파이프라인의 전반적인 동작을 제어하는 전역 YAML 키워드 . 작업을 수행하기 위해 명령을 실행하는 잡 . 예를 들어, 잡은 코드를 컴파일, 테스트 또는 배포할 수 있습니다. 잡은 서로 독립적으로 실행되며 러너 에 의해 실행됩니다. 잡을 그룹화하는 방법을 정의하는 스테이지. 스테이지는 순서대로 실행되는 반면, 스테이지 내의 잡은 병렬로 실행됩니다. 예를 들어, 초기 스테이지에는 코드를 린트하고 컴파일하는 잡이 있고, 이후 스테이지에는 코드를 테스트하고 배포하는 잡이 있을 수 있습니다. 스테이지의 모든 잡이 성공하면 파이프라인은 다음 스테이지로 이동합니다. 스테이지의 어느 잡이라도 실패하면 다음 스테이지는 (일반적으로) 실행되지 않고 파이프라인이 일찍 종료됩니다. 소규모 파이프라인은 다음 순서로 실행되는 세 가지 스테이지로 구성될 수 있습니다: compile 이라는 잡이 프로젝트 코드를 컴파일하는 build 스테이지. 코드에 대한 다양한 테스트를 실행하는 test1 과 test2 두 잡이 있는 test 스테이지. 이 테스트는 compile 잡이 성공적으로 완료된 경우에만 실행됩니다. deploy-to-production 잡이 있는 deploy 스테이지. 이 잡은 test 스테이지의 두 잡이 모두 시작되고 성공적으로 완료된 경우에만 실행됩니다. 첫 번째 파이프라인 시작에 대해서는 첫 번째 GitLab CI/CD 파이프라인 만들기 및 실행 을 참조하세요. 파이프라인 유형 # 파이프라인은 다양한 방식으로 구성할 수 있습니다: 기본 파이프라인 은 각 스테이지의 모든 것을 동시에 실행한 후 다음 스테이지를 실행합니다. needs 키워드를 사용하는 파이프라인 은 잡 간의 의존성을 기반으로 실행되며 기본 파이프라인보다 더 빠르게 실행될 수 있습니다. 머지 요청 파이프라인 은 머지 요청에 대해서만 실행됩니다(모든 커밋이 아닌). 병합된 결과 파이프라인 은 소스 브랜치의 변경 사항이 이미 대상 브랜치에 병합된 것처럼 동작하는 머지 요청 파이프라인입니다. 머지 트레인 은 병합된 결과 파이프라인을 사용하여 병합을 차례로 대기열에 넣습니다. 워크로드 파이프라인 은 임시 브랜치를 생성하지 않고 온디맨드 파이프라인 실행을 위해 임시 Git 참조에서 실행됩니다. 부모-자식 파이프라인 은 복잡한 파이프라인을 하나의 부모 파이프라인으로 분리하여 동일한 프로젝트와 동일한 SHA로 실행되는 여러 자식 하위 파이프라인을 트리거할 수 있습니다. 이 파이프라인 아키텍처는 모노레포에서 일반적으로 사용됩니다. 다중 프로젝트 파이프라인 은 서로 다른 프로젝트의 파이프라인을 결합합니다. 파이프라인 구성 # 파이프라인과 구성 요소인