AWS CodePipeline 사용해 보기

지속적 통합은 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 데브옵스 소프트웨어 개발 방식입니다. 지속적 통합은 소프트웨어 릴리스 프로세스 중 빌드 또는 통합 단계를 주로 가리키며, 자동화 구성 요소(예: CI 또는 빌드 서비스)와 문화적 구성 요소(예: 빈번하게 통합하도록 학습) 모두를 포함합니다. 지속적 통합의 핵심 목표는 버그를 신속하게 찾아 해결하고, 소프트웨어 품질을 개선하고, 새로운 소프트웨어 업데이트를 검증 및 릴리스하는 데 걸리는 시간을 단축하는 것입니다.

이전에는 팀의 개발자가 장기간 격리된 상태로 작업하고, 작업이 완료된 후에야 변경 사항을 마스터 브랜치에 병합하려고 시도했습니다. 이러한 배치성 프로세스에서는 코드 변경 사항이 축적되어 병합하기 어렵고 시간도 많이 소요되었습니다. 작은 버그가 수정 없이 장기간 축적되면 이러한 현상이 악화됩니다. 이러한 요소가 복합적으로 작용하면 고객에게 업데이트를 신속하게 제공하기가 더 어려워집니다.

지속적 통합에서는 개발자가 Git와 같은 버전 관리 제어 시스템을 사용하여 공유된 리포지토리에 빈번하게 커밋하게 됩니다. 각 커밋에 앞서, 개발자는 통합 전에 추가 검증 계층으로써 코드에 로컬 유닛 테스트를 수행할 수 있습니다. 지속적 통합 서비스는 공유된 리포지토리로 수행된 커밋을 탐지하고, 새로운 코드 변경에 대한 유닛 테스트를 자동으로 빌드 및 실행하여 기능 또는 통합 오류를 즉시 발견할 수 있습니다.

지속적 통합 및 지속적 전달

지속적 통합은 소프트웨어 릴리스 프로세스 중 빌드 및 유닛 테스트 단계를 지칭합니다. 수정 버전이 커밋될 때마다 자동화된 빌드 및 테스트가 트리거됩니다.

지속적 전달에서는 프로덕션으로 릴리스하기 위한 코드 변경이 자동으로, 빌드, 테스트 및 준비됩니다. 지속적 전달은 빌드 단계 이후의 모든 코드 변경을 테스트 환경 및/또는 프로덕션 환경에 배포함으로써 지속적 통합을 확장합니다.

 


개발자 생산성 향상

지속적 통합을 사용하면 개발자가 수동 작업에 대한 부담을 덜고 고객에게 제공되는 오류 및 버그 수를 줄이는 데 도움이 되는 기능을 활용함으로써 팀의 생산성을 높일 수 있습니다.

버그를 조기에 발견 및 해결

테스트를 좀 더 빈번하게 수행함으로써, 팀에서는 이후에 더 큰 문제로 발전하기 전에 버그를 조기에 발견하고 해결할 수 있습니다.

업데이트를 더 빠르게 제공

지속적 통합을 사용하면 팀이 좀 더 빠르고 좀 더 빈번하게 고객에게 업데이트를 제공할 수 있습니다.

AWS에서 지속적인 통합을 적용할 수 있는 몇 가지 방법이 있습니다.

CICD

변경 사항을 커밋할 때마다 AWS CodeBuild에서 코드를 빌드하도록 워크플로를 구축하는 AWS CodePipeline을 사용하여 지속적 통합 워크플로를 설정합니다.

CICDpartners

파트너 솔루션을 살펴봅니다.