[AWS] CI/CD

정기홍·2024년 5월 13일
0

Cloud

목록 보기
12/14

CI/CD

1. 지속적 통합(Continuous Integration)

  • 모든 개발자가 개발한 코드를 공유 리포지토리에 하루에도 여러번 코드를 커밋하고 병합하는 것

2. 지속적 전달(Continuous Delivery)

  • 개발팀이 짧은 주기로 소프트 웨어를 개발하고 언제든지 운영환경으로 안정적으로 배포하는 것
  • Deployment라고도 불림

AWS의 CI/CD 구성도

CodeCommit

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

CodeCommit의 특징

  • Benefit from a fully managed service hosted by AWS
  • Store your code securely
  • Work collaboratively on code
  • Easily scale your vertion control projects
  • Store anything, anytime
  • Integrate with other AWS and third-party services
  • Easily migrate files from other remote repositories
  • Use the Git tools you

CodeBuild

AWS CodeBuild는 클라우드상의 완전관리형 빌드 서비스.
소스 코드를 컴파일하고 단위 테스트를 실행하며 배포 준비가 완료된 아티팩트를 생성.
자체 빌드 서버를 프로비저닝, 관리 및 확장할 필요가 없음.
이 서비스는 Apache Maven, Gradle 등과 같은 널리 사용되는 프로그래밍 언어 및 빌드 도구에 맞게 사전 패키지된 빌드 환경을 제공.
빌드 환경을 사용자 지정하여 사용자 고유의 빌드 도구를 사용.
최대 빌드 요청 수에 맞게 자동으로 확장.

CodeBuild의 작동 방식

CodeDeploy

CodeDeplot는 Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 또는 Amazon ECS 서비스로 애플리케이션 배포를 자동화하는 배포 서비스.
다음을 포함하여 다양한 애플리케이션 콘텐츠를 거의 무제한으로 배포가능.

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

CodeDeploy는 서버에서 실행되고 Amazon S3 버킷, GitHub 리포지토리 또는 Bitbucket 리포지토리에 저장되는 애플리케이션 콘텐츠를 배포가능.
또한 서버리스 Lambda 함수 배포가능.
사용하기 위해서 기존 코드를 변경할 필요가 없음.

CodePipeline

AWS CodePipeline은 빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위해 릴리스 파이프라인을 자동화하는 데 도움이 되는 완전관리형의 지속적 전달 서비스.

CodePipeline의 특징

  • 소프트웨어 릴리스 프로세스를 모델링하고, 서버를 설정하거나 프로비저닝할 필요성을 줄일 수 있음.
  • AWS Management Console 또는 AWS Command Line Interface(CLI)를 사용하여 소프트웨어 릴리스 프로세스 단계를 정의할 수 있음.
  • 피드백을 반복하고 각 코드 변경을 테스트하여 버그를 포착하는 새로운 기능을 신속하게 릴리스할 수 있음
  • 릴리스 프로세스의 모든 단계에서 자체 플러그 또는 사전 구축된 플러그인을 사용하여 필요에 맞추어 조정할 수 있음.
profile
늘 새로운걸 도전하는 의지

0개의 댓글

관련 채용 정보