데브코스 TIL/AWS 클라우드

AWS Part 07 CI/CD

예니ㅣ 2023. 11. 22. 13:22

강의

소프트웨어 빌드

"소프트웨어 빌드"는 개발한 소프트웨어를 최종적으로 출시하기 위한 형태로 만드는 것입니다.

참여 개발자가 많을수록 필수적 입니다.

개발 중에도 빌드한다면 소프트웨어의 안정성을 증대시킬 수 있습니다.

 

CI/CD

"CI/CD"는 개발한 작업을 자동적으로 빌드하고 배포하는 서비스 입니다.

  • 지속적 통합(Continuous Integration) : 개발한 코드를 공유 리포지토리에 하루에 여러번 커밋 및 병합 
  • 지속적 전달(Continuous Dlivery) : 짧은 주기로 소프트웨어를 개발 → 언제든지 운영환경으로 안정적 배포

 

CI/CD 조건

  • Main 혹은 Master branch 하나만 유지
  • 코드 변경 자주 반영
  • 테스트 최대한 추가 : Test Coverage
  • 빌드 지속적으로 수행 : 자동화
  • 성공한 빌드의 프로덕션 릴리스 : 자동화

CI/CD 존재하는 AWS 개요

 


CodeCommit

"CodeCommit"은 클라우드에서 자산(문서, 소스 코드, 바이너리 파)을 비공개로 저장하여 관리하는데 사용할 수 있도록 Amazone Web Services Services에서 호스팅되는 버전 관리 서비스 입니다.

Github와 기능적으로 같습니다.

 

CodeCommit 특징

  • AWS에서 호스팅하는 완벽하게 관리되는 서비스
  • 코드를 안전하게 저장
  • 코드에 대한 공동 작업 가능
  • 버전 제어 프로젝트 확장 용이
  • 시간 및 객체 상관 없이 모두 가능
  • AWS 서비스와의 호환
  • Git으로부터 migrate 간단
  • Git 도구 동일하게 사용 가능

 


CodeBuild

"CodeBuild"는 클라우드상의 완전관리형 빌드 서비스 입니다.

  • 소스 코드 컴파일 및 단위 테스트 실행하여 배포 준비가 완료된 아티팩트 생성
  • 자체 빌드 서버를 프로비저닝, 관리 및 확장할 필요 없음
  • 일반적인 프로그래밍 언어 및 빌드 도구에 맞게 사전 패키지된 빌드 환경 제공
  • 빌드 환경 사용자 지정 가능 → 사용자 고유 빌드 도구 사용 가능
  • 최대 빌드 요청 수에 따라 자동 확장

CodeBuild 작동 방식

 


CodeDeploy

"CodeDeploy"는 애플리케이션 배포를 자동화하는 서비스 입니다.

Amazone EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 혹은 Amazone EC2 서비스를 이용합니다.

서버에서 실행되고 Amazone S3 버킷, Github 리포지토리 혹은 Bitbucket 리포지토리에 저장되는 애플리케이션 컨텐츠를 배포할 수 있습니다.

 

배포 가능한 애플리케이션 컨텐츠

  • 코드
  • 서버리스 AWS Lambda 함수
  • 웹 및 구성 파일
  • Executables
  • 패키지
  • 스크립트
  • 멀티미디어 파일

 


CodePipeline

"CodePipeline"은 완전관리형 지속적 전달 서비스 입니다.

빠르고 안정적인 애플리케이션 및 인프라 업데이터를 위해 릴리스 파이프라인을 자동화하는데 도움이 됩니다.

 

CodePipeline 특징

  • 소프트웨어 릴리스 프로세스 모델링, 서버 설정 및 프로비저닝 필요성 감소
  • AWS Management Console 혹은 AWS Command Line Interface(CLI)를 사용해 소프트웨어 릴리스 프로세스 단계 정의 가능
  • 피드백 반복 및 코드 변경 시 테스트 → 버그 포착
  • 새로운 기능을 신속하게 릴리스
  • 릴리스 프로세스의 모든 단계에서 자체 플러그 혹은 사전 구축된 플러그인 사용 → 조정 가능

'데브코스 TIL > AWS 클라우드' 카테고리의 다른 글

AWS Part 09 CLI  (0) 2023.11.23
AWS Part 08 배포부터 서비스 구성까지  (0) 2023.11.22
AWS Part 06 S3  (0) 2023.11.22
AWS Part 05 IAM  (0) 2023.11.22
AWS Part 04 Network  (2) 2023.11.21