

# OPS05-BP01 버전 관리 사용
<a name="ops_dev_integ_version_control"></a>

 버전 관리를 사용하여 변경 사항과 릴리스를 추적합니다.

 많은 AWS 서비스가 버전 관리 기능을 제공합니다. 리비전 또는 [소스 제어](https://aws.amazon.com/devops/source-control/) 시스템(예: [Git](https://aws.amazon.com/devops/source-control/git/))을 사용하여 코드와 기타 아티팩트(예: 인프라의 버전 제어 [AWS CloudFormation](https://aws.amazon.com/cloudformation/) 템플릿)를 관리합니다.

 **원하는 성과:** 팀이 코드를 사용하여 협업할 수 있습니다. 코드를 병합할 때 코드가 일관되고 변경 내용이 손실되지 않습니다. 올바른 버전 관리를 통해 오류를 쉽게 되돌릴 수 있습니다.

 **일반적인 안티 패턴**: 
+  코드는 워크스테이션에서 개발 및 저장해 왔습니다. 워크스테이션에서 복구할 수 없는 스토리지 오류가 발생하면 코드가 손실되었습니다.
+  기존 코드를 변경 사항으로 덮어쓴 후 애플리케이션을 다시 시작하면 애플리케이션이 더 이상 작동하지 않습니다. 이 경우 변경 사항을 되돌릴 수 없습니다.
+  다른 사람이 편집해야 하는 보고서 파일에 대한 쓰기 잠금이 있습니다. 작업을 완료할 수 있도록 해당 작업의 중지를 요청하는 연락을 받습니다.
+  연구 팀은 향후 작업을 결정할 세부 분석을 수행해 왔습니다. 누군가 실수로 최종 보고서에 쇼핑 목록을 저장했습니다. 변경 사항을 되돌릴 수 없으며 보고서를 다시 생성해야 합니다.

 **이 모범 사례 확립의 이점:** 버전 관리 기능을 사용하면 쉽게 알려진 정상 상태와 이전 버전으로 되돌리고 자산 손실 위험을 제한할 수 있습니다.

 **이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준:** 높음 

## 구현 가이드
<a name="implementation-guidance"></a>

 버전 제어 리포지토리에서 자산을 유지 관리합니다. 이렇게 하면 변경 사항을 추적하고, 새 버전을 배포하며, 기존 버전의 변경 사항을 감지하고, 장애 시 알려진 정상 상태로 롤백하는 등 이전 버전으로 되돌릴 수 있습니다. 구성 관리 시스템의 버전 관리 기능을 프로시저에 통합합니다.

## 리소스
<a name="resources"></a>

 **관련 모범 사례:** 
+  [OPS05-BP04 구축 및 배포 관리 시스템 사용](ops_dev_integ_build_mgmt_sys.md) 

 **관련 비디오:** 
+ [AWS re:Invent 2,023 - How Lockheed Martin builds software faster, powered by DevSecOps ](https://www.youtube.com/watch?v=Q1OSyxYkl5w)
+ [AWS re:Invent 2,023 - How GitHub operationalizes AI for team collaboration and productivity ](https://www.youtube.com/watch?v=cOVvGaiusOI)