2021-06-19 00:35 (토)
[특별기고] 깃랩의 CI/CD 파이프라인 템플릿 사용법
상태바
[특별기고] 깃랩의 CI/CD 파이프라인 템플릿 사용법
  • 길민권 기자
  • 승인 2021.05.28 12:52
이 기사를 공유합니다

배포 파이프라인을 완전히 처음부터 작성하는 것은 상당히 고통스러운 작업이다. 우리는 깃랩(GitLab) CI/CD를 신속하게 설정하고 실행함으로써 지속적 통합(CI: Continuous Integration) 환경을 보다 자동화할 수 있다.

가장 손쉽게 시작할 수 있는 방법은 깃랩의 CI/CD 파이프라인 템플릿을 사용하는 것이다. 파이프라인 템플릿은 30개 이상의 널리 사용되는 프로그래밍 언어와 프레임워크 별로 제공된다. 특정 요구사항에 따라 이러한 파이프라인 템플릿을 어떻게 사용할 수 있는지 알아보도록 하자.

또한 깃랩은 지속적인 통합을 위한 보다 향상된 자동화 환경을 구축할 수 있도록 대부분의 작업을 수행할 수 있는 자동 데브옵스(Auto DevOps)를 제공하고 있다. 자동 데브옵스는 도커 파일이나 매칭되는 빌드팩이 있는 경우 파이프라인에서 자동으로 실행되며, 종속성을 자동으로 식별한다.

◇CI 파이프라인 템플릿은 무엇인가?

파이프라인은 지속적인 통합(CI: Continuous Integration)과 지속적인 제공(CD: Continuous Delivery) 및 지속적인 배포(CD: Continuous Deployment)의 필수 구성요소이다. 파이프라인 구축은 다음 두 가지로 구성된다:

•무엇을 수행할 것인지 정의하는 작업(Job). 예를 들어, 코드를 컴파일하거나 테스트하는 작업.

•언제 작업을 수행할 것인지 정의하는 단계(Stage). 예를 들어, 코드 컴파일 단계 이후에 테스트 단계를 실행.

파이프라인은 순서대로 실행되는 하나 이상의 단계로 구성되며, 각각 병렬로 실행되는 하나 이상의 작업을 포함할 수 있다. 이러한 작업(또는 스크립트)은 깃랩 러너(GitLab Runner)와 같은 에이전트에 의해 실행된다.

깃랩은 파이프라인을 gitlab-ci.yml 파일로 정의하고 있다. CI/CD 템플릿은 선호하는 프로그래밍 언어나 프레임워크를 이 YAML 파일에 통합한다. CI/CD 템플릿은 완전히 처음부터 파이프라인을 구축하는 대신, 이미 빌드된 파라미터들을 제공하기 때문에 프로세스를 간소화한다.

UI에서 gitlab-ci.yml 파일을 생성할 때 이러한 템플릿 중 하나를 선택하면 된다.

깃랩의 CI/CD 템플릿은 30개 이상의 널리 사용되는 언어별로 제공되기 때문에 깃랩 CI 템플릿 리포지토리에서 시작하는데 필요한 템플릿을 쉽게 찾을 수 있다.

◇자동 데브옵스는 무엇인가?

자동 데브옵스는 사전 정의된 CI/CD 구성을 통해 애플리케이션을 자동으로 감지하고, 빌드 및 테스트, 구축과 모니터링을 수행할 수 있는 깃랩의 독보적인 기능이다. 단순히 템플릿에 액세스하는 것이 아니라, 자동 데브옵스는 기본적으로 활성화되도록 깃랩 인스턴스 내에 설정된다.

깃랩의 자동 데브옵스 제품에 대한 비전은 모든 것이 하나의 탁월한 깃랩 환경의 일부로 완벽하게 연결되는 것이다. 실제로 자동 데브옵스라는 용어는 자동 데브옵스를 통해 자동화되는 다음과 같은 여러 부분들에서 유래된 것이다:

•‘자동 CI(Auto CI)’ – 가장 일반적인 언어와 프레임워크에 대한 모범 사례를 기반으로 소프트웨어 컴파일 및 테스트

•‘자동 검토(Auto Review)’ – 코드 클라이메이트(Code Climate)와 같은 자동 분석 도구

•‘자동 구축(Auto Deploy)’ – 쿠버네티스(Kubernetes) 클러스터에 대한 검토 앱(Review Apps) 및 증분식 롤아웃에 기반

•‘자동 메트릭(Auto Metrics)’ – 전체 프로세스의 성능 및 최적화를 보장하기 위해 이전 모든 단계에서 통계 데이터 수집

자동 데브옵스는 모든 단계에 대한 탁월한 기본값을 제공하고, CI 템플릿을 이용한다. 또한 사용자의 요구사항에 부합하도록 자동 데브옵스를 조정할 수 있으며, 깃랩 API로 자동 데브옵스를 관리할 수 있다.

자동 데브옵스에 대한 자세한 내용은 아래 영상에서 확인할 수 있다:

◇기타 CI/CD 리소스

깃랩은 또한 사용자가 필요로 하는 특정 적용사례에 적합한 깃랩 CI/CD 구현 방법을 배울 수 있도록 CI/CD 예제를 제공한다. 리포지토리에는 템플릿 파일 외에도 샘플 프로젝트가 포함되어 있으며, 다음과 같은 다양한 시나리오에 대한 단계별 튜토리얼 등을 확인할 수 있다.

•깃랩 CI/CD를 이용한 데브옵스 및 게임 개발

•깃랩 CI/CD를 이용한 루비(Ruby) 애플리케이션 테스트 및 구축

•깃랩 CI/CD을 이용한 메이븐(Maven) 프로젝트 구축 방법

•그 외의 다양한 예제

CI/CD 템플릿과 깃랩의 자동 데브옵스 제품 기능을 통해 팀은 모든 수동 구성을 제거하고 지속적 통합의 이점을 얻을 수 있다. 간혹 수백 개의 프로젝트를 관리하는 팀의 경우 처음부터 모든 것을 시작하는 것은 현실적이지 않거나 사실상 불가능하다. 깃랩을 사용하면 이러한 문제를 해결할 수 있다.

깃랩 30일 무료 평가판을 통해 업계 최상의 지속적 통합의 이점을 경험해 볼 수 있다.

<글·크리시 뷰캐넌(Chrissie Buchanan), 깃랩 운영 부서 콘텐츠 마케팅 매니저>

★정보보안 대표 미디어 데일리시큐!★