You are a developer, not a coder.

AWS CodePipeline 본문

AWS/기본 개념

AWS CodePipeline

Mattmk 2020. 2. 21. 14:53
SMALL

1.  AWS CodePipeline 란?

AWS CodePipeline은 빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위해 릴리스 파이프라인을 자동화하는 데 도움이 되는 완전관리형 지속적 전달 서비스이다. CodePipeline은 코드 변경이 발생할 때마다 사용자가 정의한 릴리스 모델을 기반으로 릴리스 프로세스의 빌드, 테스트 및 배포 단계를 자동화한다.

따라서 기능과 업데이트를 신속하고 안정적으로 제공할 수 있다.

AWS CodePipeline을 GitHub 또는 자체 사용자 지정 플러그인과 같은 타사 서비스와 손쉽게 통합할 수 있다.

AWS CodePipeline에서는 사용한 만큼만 비용을 지불하고, 선결제 금액이나 장기 약정이 없다.

 

2. 이점

신속한 제공

AWS CodePipeline은 소프트웨어 출시 프로세스를 자동화하므로 새로운 기능을 신속하게 릴리스할 수 있다.

CodePipeline을 사용하면 피드백에 따라 신속하게 반복하고 사용자에게 새로운 기능을 더 빠르게 제공할 수 있다.

빌드, 테스트 및 릴리스 프로세스를 자동화하면 각 코드 변경 사항을 손쉽게 테스트하고 버그의 규모가 작을 때 발견하여 간편하게 수정할 수 있다. 각 변경 사항은 스테이징 및 릴리스 프로세스를 거치므로 애플리케이션 또는 인프라 코드의 품질을 보장할 수 있다.

 

빠르게 시작

AWS CodePipeline을 사용하면 소프트웨어 릴리스 프로세스 모델링을 즉시 시작할 수 있다.

프로비저닝하거나 설정할 서버가 없다. CodePipeline은 기존 도구와 시스템에 연결할 수 있는 완전관리형의 지속적 전달 서비스이다.

 

구성 가능한 워크플로

AWS CodePipeline을 사용하면 콘솔 인터페이스, AWS CLI, AWS CloudFormation 또는 AWS SDK를 사용하여 소프트웨어 릴리스 프로세스의 여러 단계를 모델링할 수 있다. 손쉽게 실행할 테스트를 지정하고 애플리케이션과 관련 종속성을 배포할 단계를 사용자 지정할 수 있다.

 

손쉬운 통합

AWS CodePipeline은 특정한 요구에 맞게 손쉽게 확장할 수 있다. 사전 구축된 플러그인 또는 자체 사용자 지정 플러그인을 릴리스 프로세스 중 원하는 단계에 사용할 수 있다. 

예를 들면 GitHub에서 소스 코드를 가져오거나, 온프레미스 Jenkins 빌드 서버를 사용하거나, 타사 서비스를 사용하여 로드 테스트를 실행하거나, 사용자 지정 운영 대시보드로 배포 정보를 전달할 수 있다.

 

 

AWS CodePipeline 작동 방식

 

3. 정리

CodePipeline는 CI/CD의 워크플로를 정의하고, 모델링하여 워크플로 속도를 높이기 위해 병렬로 처리할 수 있는걸로 알고 있다. 개발환경에 대한 워크플로를 설계하는 서비스?라고 생각이 든다.

 

  • 형상관리를 위해 → AWS CodeCommit, Git Lab, Git Hub 등..과 같은 형성관리 툴들과의 연동
  • 빌드와 단뒤테스트를 위해 → AWS CodeBuild과의 연동
  • AWS리소스 프로비저닝을 위해 → AWS CloudFormation 서비스와의 연동
  • CodePipeline에 부담이 있을시 (오류 및 과부하) → Amazon SNS과의 연동

위와 같이 접근을 생각해 보았다.

 

LIST

'AWS > 기본 개념' 카테고리의 다른 글

AWS Key Management Service  (0) 2020.02.25
AWS Security Token Service  (0) 2020.02.24
Amazon Kinesis Data Streams  (0) 2020.02.21
AWS CodeCommit  (0) 2020.02.21
Amazon CloudWatch  (0) 2020.02.21
Comments