GitLab CI/CD 시작하기

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

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

이 반복적인 프로세스는 버그가 있거나 실패한 이전 버전을 기반으로 새 코드를 개발할 가능성을 줄이는 데 도움이 됩니다.

GitLab CI/CD는 개발 주기의 초기에 버그를 잡을 수 있으며, 프로덕션에 배포된 코드가 설정한 코드 표준을 준수하도록 도와줍니다.

이 과정은 더 큰 워크플로우의 일부입니다:

Workflow

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 파일에서 정의하는 것이며, 파일 내용이 러너에서 실행될 때 발생하는 것입니다.

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

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

파이프라인은 커밋이나 병합과 같은 다양한 이벤트에 의해 트리거될 수 있으며, 일정에 따라 실행될 수도 있습니다.
파이프라인에서는 다양한 도구 및 플랫폼과 통합할 수 있습니다.

자세한 정보는 다음을 참조하십시오:

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

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

CI/CD 변수를 사용하여 다른 곳에 정의된 값을 작업에 접근 가능하게 하여 작업을 사용자 정의할 수 있습니다.

CI/CD 변수를 .gitlab-ci.yml 파일에 하드 코딩하거나 프로젝트 설정에서 설정하거나 동적으로 생성할 수 있습니다.

프로젝트, 그룹 또는 인스턴스를 위해 정의할 수 있습니다.

변수의 두 가지 유형이 있습니다: 사용자 정의 변수와 미리 정의된 변수입니다.

  • 사용자 정의 변수는 사용자가 정의합니다. GitLab UI, API 또는 구성 파일에서 생성 및 관리할 수 있습니다.

  • 미리 정의된 변수는 GitLab에 의해 자동으로 설정되며 현재 작업, 파이프라인 및 환경에 대한 정보를 제공합니다.

변수는 보안을 강화하기 위해 “보호됨” 또는 “마스킹됨”으로 표시할 수 있습니다.

  • 보호된 변수는 보호된 브랜치 또는 태그에서 실행되는 작업에서만 사용할 수 있습니다.

  • 마스킹된 변수는 민감한 정보가 노출되지 않도록 작업 로그에서 값이 숨겨집니다.

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

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

CI/CD 구성 요소는 재사용 가능한 파이프라인 구성 단위입니다.

CI/CD 구성 요소를 사용하여 전체 파이프라인 구성이나 더 큰 파이프라인의 작은 부분을 구성할 수 있습니다.

include:component로 파이프라인 구성에 구성 요소를 추가할 수 있습니다.

재사용 가능한 구성 요소는 중복을 줄이고, 유지 관리성을 향상시키며, 프로젝트 전반에 걸쳐 일관성을 촉진합니다.

구성 요소 프로젝트를 만들고 CI/CD 카탈로그에 게시하여 여러 프로젝트에서 구성 요소를 공유할 수 있습니다.

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

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