의 CI/CD AWS - AWS의 5G 네트워크를 위한 지속적 통합 및 지속적 전송

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

의 CI/CD AWS

CI/CD는 한 쪽에 새 코드가 제출되고, 일련의 단계(소스, 빌드, 테스트, 스테이징 및 프로덕션)에서 테스트된 다음 프로덕션 지원 코드로 게시되는 파이프라인으로 그림을 그릴 수 있습니다.

AWS 코드 파이프라인의 예를 보여주는 다이어그램

CICD 파이프라인 개요

CI/CD 파이프라인의 각 단계는 전송 프로세스에서 논리적 단위로 구성됩니다. 각 단계는 코드의 특정 측면을 검사하는 게이트 역할을 합니다. 코드가 파이프라인을 통과하면서 더 많은 측면이 계속 확인되므로 코드의 품질이 이후 단계에서 더 높다는 가정이 있습니다. 초기 단계에서 발견된 문제는 파이프라인을 통해 코드가 진행되지 않도록 합니다. 테스트 결과는 즉시 팀에 전송되며, 소프트웨어가 단계를 통과하지 못하면 모든 추가 빌드 및 릴리스가 중지됩니다.

AWS 는 소프트웨어 개발 및 릴리스 주기를 가속화하기 위해 전체 CI/CD 개발자 도구 세트를 제공합니다.는 정의된 릴리스 모델에 따라 코드 변경이 있을 때마다 릴리스 프로세스의 빌드, 테스트 및 배포 단계를 AWS CodePipeline 자동화합니다. 이를 통해 기능과 업데이트를 빠르고 안정적으로 제공할 수 있습니다.

코드 파이프라인은 다른 서비스와 통합할 수 있습니다. Amazon Simple Storage Service(Amazon S3)와 같은 AWS 서비스 또는 GitHub.와 같은 타사 제품일 수 있습니다. 다음을 포함한 다양한 개발 및 운영 사용 사례를 해결할 AWS CodePipeline 수 있습니다.

  • 를 사용하여 코드 컴파일, 빌드 및 테스트 AWS CodeBuild

  • 컨테이너 기반 애플리케이션을 클라우드로 지속적으로 제공

  • 네트워크 서비스 또는 특정 클라우드 네이티브 네트워크 함수에 필요한 아티팩트(예: 설명자 및 컨테이너 이미지)의 배포 전 검증

  • 기준 및 회귀 테스트를 포함하여 컨테이너화된 네트워크 함수/가상 네트워크 함수(CNF/VNF)에 대한 기능, 통합 및 성능 테스트

  • 신뢰성 및 재해 복구(DR) 테스트.

AWS CICD 파이프라인 구성 요소를 보여주는 다이어그램

AWS CICD 파이프라인 구성 요소

AWS 는 다음 AWS 개발자 도구를 사용하여 CI/CD 파이프라인을 설정할 수 있습니다.

CI/CD 파이프라인 생성은 AWS CDK 및를 사용하여 자동화할 수 있습니다AWS CloudFormation. NFV 도메인에서이 AWS 네이티브 자동화는 관리 및 오케스트레이션(MANO) 프레임워크와 CSP의 서비스 오케스트레이션 프레임워크에 통합할 수 있습니다.

CI/CD 프로세스에는 다음 단계가 포함됩니다.

  • 네트워크 설정 - 네트워크 사전 조건 생성을 AWS CDK AWS CloudFormation 시작합니다.

  • 인프라 배포 - 다음 리소스 스택 생성을 AWS CDK AWS CloudFormation 시작합니다.

  • 클라우드 네트워크 함수(CNF) 배포 -이 단계에서는 Kubectl 및 Helm 차트 도구를 사용하여 CNF를 EKS 클러스터에 배포합니다. 또한이 단계에서는 CNFs가 효율적으로 작동하는 데 필요한 특정 애플리케이션 또는 도구(예: Prometheus 또는 Fluentd )를 배포합니다. CNFs Lambda 함수를 통해 또는를 사용하여 배포할 수 있습니다 AWS CodeBuild.

  • 지속적 업데이트 및 배포 - 이는 업그레이드로 이어지는 컨테이너/구성 변경의 일부인 변경 사항을 배포하기 위해 반복적으로 수행되는 일련의 단계입니다. CNF 배포 사례와 마찬가지로 , AWS CodeCommit Amazon Elastic Container Registry(Amazon ECR) 또는 GitLab Webhooks와 같은 타사 소스 시스템의 트리거를 사용하여 AWS 서비스를 사용하여 지속적인 업데이트 및 배포를 자동화할 수 있습니다. GitLab

AWS CICD 파이프라인 흐름을 보여주는 다이어그램입니다.

AWS CICD 파이프라인 흐름도

CI/CD 파이프라인은를 사용하여 구축AWS CodePipeline되며 소프트웨어 릴리스에 필요한 단계를 모델링, 시각화 및 자동화하는 지속적 전송 서비스를 활용합니다. 파이프라인에서 단계를 정의하면 소스 코드 리포지토리에서 코드를 검색하고, 해당 소스 코드를 릴리스 가능한 아티팩트에 빌드하고, 아티팩트를 테스트하고, 프로덕션에 배포할 수 있습니다. 이러한 모든 단계를 성공적으로 통과하는 코드만 배포됩니다. 수동 승인과 같은 다른 요구 사항을 파이프라인에 선택적으로 추가하여 승인된 변경 사항만 프로덕션에 배포되도록 할 수 있습니다.