GitLab CI/CD 시작하기

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

CI/CD는 소프트웨어 개발의 지속적인 방법으로, 코드를 지속적으로 빌드, 테스트, 배포 및 모니터링하는 방식입니다.

이 반복적인 프로세스는 새로운 코드를 이전 버전의 버그가나 실패한 코드를 기반으로 개발할 확률을 줄입니다. GitLab CI/CD는 개발 주기 초반에 버그를 잡아내어 생산에 배포되는 코드가 설정된 코드 표준을 준수하는 데 도움을 줍니다.

이 과정은 더 큰 작업 흐름의 일부입니다:

작업 흐름

단계 1: .gitlab-ci.yml 파일 생성

GitLab CI/CD를 사용하려면 프로젝트의 루트에 .gitlab-ci.yml 파일을 만들어야 합니다. 이 파일은 CI/CD 파이프라인 실행 중에 실행될 단계, 작업 및 스크립트를 지정합니다. 이 파일은 자체 사용자 정의 구문을 갖는 YAML 파일입니다.

이 파일에서 변수를 정의하고, 작업 간의 의존성을 정의하며, 각 작업이 언제 어떻게 실행될지 지정합니다.

이 파일의 이름은 자유롭게 지정할 수 있지만, .gitlab-ci.yml이 가장 일반적이며, 제품 설명서에서는 이를 .gitlab-ci.yml 파일 또는 CI/CD 구성 파일로 언급합니다.

자세한 내용은 다음을 참조하세요:

단계 2: 러너 찾기 또는 생성하기

러너는 작업을 실행하는 에이전트입니다. 이러한 에이전트는 물리적 머신이나 가상 인스턴스에서 실행할 수 있습니다. .gitlab-ci.yml 파일에서 작업을 실행할 때 사용하려는 컨테이너 이미지를 지정할 수 있습니다. 러너는 이미지를 로드하고 프로젝트를 복제한 후 작업을 로컬 또는 컨테이너에서 실행합니다.

GitLab.com을 사용하는 경우 Linux, Windows 및 macOS의 러너를 이미 사용할 수 있습니다. 또한 원하는 경우 GitLab.com에 자체 러너를 등록할 수 있습니다.

GitLab.com을 사용하지 않는 경우 다음을 수행할 수 있습니다:

  • 자체 관리 인스턴스에서 러너를 등록하거나 등록된 러너를 사용합니다.
  • 로컬 머신에 러너를 만듭니다.

자세한 내용은 다음을 참조하세요:

단계 3: 파이프라인 정의

파이프라인은 .gitlab-ci.yml 파일에서 정의하는 내용이며, 이 파일의 내용이 러너에서 실행될 때 발생하는 일입니다.

파이프라인은 작업과 단계로 구성됩니다:

  • 단계는 실행 순서를 정의합니다. 일반적인 단계로는 빌드, 테스트, 배포가 있을 수 있습니다.
  • 작업은 각 단계에서 수행할 작업을 지정합니다. 예를 들어 작업은 코드를 컴파일하거나 테스트할 수 있습니다.

파이프라인은 커밋이나 병합과 같은 다양한 이벤트에 의해 트리거될 수 있으며, 예약될 수도 있습니다. 파이프라인에서 여러 도구와 플랫폼과 통합할 수 있습니다.

자세한 내용은 다음을 참조하세요:

단계 4: 작업의 일부로 CI/CD 변수 사용

GitLab CI/CD 변수는 파이프라인의 작업에 설정을 저장하고 전달하는 데 사용되는 키-값 쌍입니다. 이는 비밀번호나 API 키와 같은 민감한 정보를 작업에 전달하는 데 사용될 수 있습니다.

CI/CD 변수는 다른 곳에서 정의된 값을 작업에 제공함으로써 작업을 사용자화하는 데 사용됩니다. 이 변수를 .gitlab-ci.yml 파일에 직접 지정하거나, 프로젝트 설정에서 설정하거나, 동적으로 생성할 수 있습니다. 이를 프로젝트, 그룹 또는 인스턴스에 정의할 수 있습니다.

두 종류의 변수가 있습니다: 사용자 정의 변수와 미리 정의된 변수입니다.

  • 사용자 정의 변수는 사용자가 정의합니다. GitLab UI, API 또는 구성 파일에서 생성하고 관리합니다.
  • 미리 정의된 변수는 GitLab에 의해 자동으로 설정되며, 현재 작업, 파이프라인 및 환경에 대한 정보를 제공합니다.

보안을 강화하기 위해 변수는 “보호됨” 또는 “가리기”로 표시될 수 있습니다.

  • 보호된 변수는 보호된 브랜치 또는 태그에서 실행되는 작업에서만 사용할 수 있습니다.
  • 가리기 변수는 민감한 정보가 노출되지 않도록 작업 로그에서 값을 숨깁니다.

자세한 내용은 다음을 참조하세요:

단계 5: CI/CD 구성 요소 사용

CI/CD 구성 요소는 재사용 가능한 파이프라인 구성 단위입니다. CI/CD 구성 요소를 사용하여 전체 파이프라인 구성 또는 더 큰 파이프라인의 일부를 구성할 수 있습니다.

include:component로 구성에 구성 요소를 추가할 수 있습니다.

재사용 가능한 구성 요소는 중복을 줄이고 유지보수를 개선하며 프로젝트 간에 일관성을 유지하는 데 도움이 됩니다. 구성 요소 프로젝트를 만들어 CI/CD 카탈로그에 발행하여 여러 프로젝트 간에 구성 요소를 공유할 수 있습니다.

또한 GitLab에는 일반적인 작업 및 통합을 위한 CI/CD 구성 요소 템플릿이 있습니다.

자세한 내용은 다음을 참조하세요: