AWS

[AWS] CI/CD

SangRok Jung 2023. 1. 24. 16:26
반응형

DevOps


소프트웨어의 개발과 운영의 합성어.

개발 환경과 사례 및 도구의 조합.

개발자의 생산성과 안정성을 최적화할 수 있다.

Culture + Practices + Tools.

 

 

Culture

  • 개발과 운영 두팀간의 장벽을 없애 준다.
  • 개발및 인프라의 수명을 관리한다.

Practices

  • 지속적으로 적용이 가능한 Practices
  • Architecture patterns, Code packaging, Secrets management, Microservice patterns, Circuit breaker, SCM, Continuous delivery, Static analysis, Infrastructure as code, Continuous integration, Code promotions, Caching and object access patterns, [Small, frequent updates], Service discovery, Coding practice.

Tools

  • CI/CD 파이프라인.
  • IAC 등

 

 

 

 

CI/CD


지속적 통합(continuous integration)과 지속적 배포(continuous delivery, CD)가 결합한 사례를 의미한다.

CI/CD는 소프트 웨어의 개발, 테스트와 배포를 모두 통합함으로써 소프트웨어 버그를 쉽게 찾아낼 수 있으며, 더 빠른 배포 주기를 가질 수 있게 만들어 준다.

 

CI/CD Best Practices

  1. Automated releases
  2. Safe Deployments
  3. Repeatable infrastructure changes

 

 

 

릴리스 프로세스 단계 (CI/CD 파이프 라인)

  1. Source
    • .java 파일과 같은 소스 코드 checkin
    • 새로운 코드에 대해 피어 리뷰
  2. Build
    • 코드 컴파일
    • 유닛 테스트
    • 스타일 체크
    • 컨테이너 이미지 배포 패키지 생성
  3. Test
    • 다른 시스템과 통합 테스트
    • 부하 테스트
    • UI 테스트
    • 보안 테스트
  4. Production
    • 프로덕션 환경에 배포
    • 신규 코드의 에러 확인을 위한 모니터링

 

 

 

AWS Servises

  • CodeCommit
    • 완전 관리형 안전한 Git기반의 레포지토리
    • (GitHub)
  • CodeBuild
    • 소스 코드를 컴파일하는 단계부터 테스트 실행 후, 소프트웨어 패키지를 개발하여 배포하는 단계까지 마칠 수 있는 완전 관리형 빌드 서비스
    • (GitHub Actions)
  • CodeDeploy
    • 코드 배포를 자동화하는 완전 관리형 배포 서비스
    • (GitHub Actions)
  •  CodePipeline
    • 완전 관리형 지속적 전달 서비스.

 

 

 

AWS CodePipeline

  • Source Provider : 소스 코드 저장 위치
    • Branch: AWS CodeCommit, GitHub, Bitbucket
    • Object/folder: Amazon S3
    • Docker image: Amazon ECR
  • Builder Provider : 애플리케이션 빌드 방법
    • AWS CodeBuild, Jenkins
  • Deploy Provider : 애플리케이션 배포 방법
    • Amazon EC2: AWS CodeDeploy, AWS Elastic Beanstalk, AWS OpsWorks Stacks
    • Containers: AWS CodeDeploy, Amazon ECS, Amazon ECS(blue/green deployment), AWS
      Fargate
    • Serverless: AWS CodeDeploy, AWS CloudFormation/ AWS SAM, AWS Lambda, AWS Step Functions

 

 

 

 

 

 

 

반응형

'AWS' 카테고리의 다른 글

[AWS] API Gateway  (0) 2023.02.13