본문 바로가기
부트캠프교육중/AWS

CI/CD 파이프라인

by 뭉지야 2023. 4. 3.
728x90

<배포 자동화>
-한번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것.
-배포 자동화를 통해 전체 배포 과정을 매번 일관되게 진행하는 구조를 설계하여 휴먼 에러 발생 가능성을 낮출 수 있습니다.

#필요한 이유
-먼저 수동적이고 반복적인 배포 과정을 자동화함으로써 시간이 절약됩니다.
-휴먼 에러(Human Error)를 방지할 수 있습니다.
여기서 휴먼 에러란 사람이 수동적으로 배포 과정을 진행하는 중에 생기는 실수들을 뜻합니다. 그 전에 했던 배포 과정과 비교하여 특정 과정을 생략하거나 다르게 진행하여 오류가 발생하는 것이 휴먼 에러의 예로 볼 수 있습니다.


<CI/CD 파이프라인>
-수없이 진행되는 배포 과정을 자동화시키는 방법을 구축하게 되는데, 그것을 CI/CD 파이프라인이라고 합니다.


-개발자가 코드를 원격 저장소에 올리면, 그 코드가 빌드 및 테스트와 릴리즈를 거쳐 배포 서버로 전달 됩니다. 배포 서버에 도달한 빌드된 코드는 애플리케이션 서버로 최종 배포가 완료 되고, 그 결과물을 유저가 직접 확인하게 되는 것입니다.
-여기서 자동화를 꾀하는 부분은 보통 코드가 빌드되면서 최종적으로 배포가 되는 단계까지입니다. 이 부분을 지속적인 통합 및 배포를 위하여 일련의 자동화 단계로 만드는데, 이것을 파이프라인을 구축한다고 표현합니다.

<CI/CD 파이프라인을 구성하는 기본 단계와 수행 작업>


-배포에서 파이프라인(Pipeline)이란 용어는 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조를 뜻합니다.
-파이프라인은 전체 배포 과정을 여러 단계(Stages)로 분리합니다. 각 단계는 파이프라인 안에서 순차적으로 실행

1. Source 단계: Source 단계에서는 원격 저장소에 관리되고 있는 소스 코드에 변경 사항이 일어날 경우, 이를 감지하고 다음 단계로 전달하는 작업을 수행합니다.
2. Build 단계: Build 단계에서는 Source 단계에서 전달받은 코드를 컴파일, 빌드, 테스트하여 가공합니다. 또한 Build 단계를 거쳐 생성된 결과물을 다음 단계로 전달하는 작업을 수행합니다.
3. Deploy 단계: Deploy 단계에서는 Build 단계로부터 전달받은 결과물을 실제 서비스에 반영하는 작업을 수행합니다.

-파이프라인의 단계는 필요에 따라 더 세분화되거나 간소화될 수 있습니다.

<CI/CD 파이프라인 구성 요소 및 장점>
-빌드 (소프트웨어 컴파일)
-테스트 (호환성 및 오류 검사)
-릴리스 (버전 제어 저장소의 애플리케이션 업데이트)
-배포 (개발에서 프로덕션 환경으로의 변환)
-규정 준수 및 유효성 검사


이 과정이 실무에서는 반복적인 프로세스이기 때문에 이 부분을 일련의 자동화 단계로 만든다고 볼 수 있습니다.
이렇게 구축된 파이프라인은 최신 버전의 소프트웨어 애플리케이션을 업데이트하고 제공하려는 일련의 처리 단계에 걸리는 시간을 수동으로 하는 것보다 더 빠르고 안정적이며 효과적으로 줄여주고 CI/CD 인프라와의 호환성과 효율성을 높여줍니다.


출처

코드스테이츠

728x90

'부트캠프교육중 > AWS' 카테고리의 다른 글

YAML  (0) 2023.04.03
Github Actions  (0) 2023.04.03
CI/CD  (0) 2023.04.03
DevOps  (0) 2023.04.03
개발 프로세스  (1) 2023.04.03