다중 계정 DevOps 환경을 위한 Git 분기 전략 선택 - AWS 권장 가이드

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

다중 계정 DevOps 환경을 위한 Git 분기 전략 선택

Amazon Web Services(기여자)

2024년 2월(문서 기록)

클라우드 기반 접근 방식으로 전환하고에서 소프트웨어 솔루션을 제공하는 것은 혁신적일 AWS 수 있습니다. 소프트웨어 개발 수명 주기 프로세스를 변경해야 할 수 있습니다. 일반적으로의 개발 프로세스 중에 여러가 AWS 계정 사용됩니다 AWS 클라우드. DevOps 프로세스와 페어링할 호환 가능한 Git 분기 전략을 선택하는 것은 성공에 필수적입니다. 조직에 적합한 Git 분기 전략을 선택하면 개발 팀 간에 DevOps 표준과 모범 사례를 간결하게 전달하는 데 도움이 됩니다. Git 분기는 단일 환경에서 간단할 수 있지만 샌드박스, 개발, 테스트, 스테이징 및 프로덕션 환경과 같은 여러 환경에 적용할 경우 혼란스러울 수 있습니다. 여러 환경이 있으면 DevOps 구현의 복잡성이 증가합니다.

이 가이드에서는 조직이 다중 계정 DevOps 프로세스를 구현하는 방법을 보여주는 Git 분기 전략의 시각적 다이어그램을 제공합니다. 시각적 가이드는 팀이 Git 분기 전략을 DevOps 관행과 병합하는 방법을 이해하는 데 도움이 됩니다. 소스 코드 리포지토리를 관리하기 위해 Gitflow, GitHub Flow 또는 Trunk와 같은 표준 분기 모델을 사용하면 개발 팀이 작업을 조정하는 데 도움이 됩니다. 또한 이러한 팀은 인터넷에서 표준 Git 훈련 리소스를 사용하여 해당 모델과 전략을 이해하고 구현할 수 있습니다.

의 DevOps 모범 사례는 AWS Well-Architected의 DevOps 지침을 AWS참조하세요. 이 가이드를 검토할 때 실사를 사용하여 조직에 적합한 분기 전략을 선택합니다. 일부 전략은 사용 사례에 더 적합할 수 있습니다.

목표

이 가이드는 여러가 있는 조직의 DevOps 분기 전략을 선택하고 구현하는 방법에 대한 설명서 시리즈의 일부입니다 AWS 계정. 이 시리즈는 처음부터 요구 사항, 목표 및 모범 사례를 가장 잘 충족하는 전략을 적용하여에서 경험을 간소화하는 데 도움이 되도록 설계되었습니다 AWS 클라우드. 이 가이드에는 조직에서 사용하는 지속적 통합 및 지속적 전달(CI/CD) 엔진과 기술 프레임워크에 따라 달라지기 때문에 DevOps 실행 파일 스크립트가 포함되어 있지 않습니다.

이 가이드에서는 세 가지 일반적인 Git 분기 전략인 GitHub Flow, Gitflow 및 Trunk의 차이점을 설명합니다. 이 가이드의 권장 사항은 팀이 조직의 목표에 맞는 분기 전략을 식별하는 데 도움이 됩니다. 이 가이드를 검토한 후 조직의 분기 전략을 선택할 수 있습니다. 전략을 선택한 후 다음 패턴 중 하나를 사용하여 개발 팀과 함께 전략을 구현할 수 있습니다.

한 조직, 팀 또는 프로젝트에 적합한 것이 다른 조직, 팀 또는 프로젝트에 적합하지 않을 수 있다는 점에 유의해야 합니다. Git 분기 전략 중에서 선택하는 것은 팀 규모, 프로젝트 요구 사항, 협업, 통합 빈도 및 릴리스 관리 간의 원하는 균형 등 다양한 요인에 따라 달라집니다.

CI/CD 사례 사용

AWS 에서는 소프트웨어 릴리스 수명 주기를 자동화하는 프로세스인 지속적 통합 및 지속적 전달(CI/CD)을 구현할 것을 권장합니다. 기존에는 개발에서 프로덕션으로 새 코드를 가져오는 데 필요한 수동 DevOps 프로세스의 대부분 또는 전부를 자동화합니다. CI/CD 파이프라인에는 샌드박스, 개발, 테스트, 스테이징 및 프로덕션 환경이 포함됩니다. 각 환경에서 CI/CD 파이프라인은 코드를 배포하거나 테스트하는 데 필요한 모든 인프라를 프로비저닝합니다. CI/CD를 사용하면 개발 팀이 코드를 변경하여 자동으로 테스트하고 배포할 수 있습니다. CI/CD 파이프라인은 개발 팀을 위한 거버넌스 및 가드레일도 제공합니다. 기능 수락 및 배포를 위해 일관성, 표준, 모범 사례 및 최소 수락 수준을 적용합니다. 자세한 내용은 지속적 통합 및 지속적 전송 실행을 참조하세요 AWS.

이 가이드에서 설명하는 모든 분기 전략은 CI/CD 관행에 매우 적합합니다. CI/CD 파이프라인의 복잡성은 분기 전략의 복잡성에 따라 증가합니다. 예를 들어 Gitflow는이 가이드에서 설명하는 가장 복잡한 분기 전략입니다. 이 전략의 CI/CD 파이프라인에는 더 많은 단계(예: 규정 준수 이유)가 필요하며 여러 개의 동시 프로덕션 릴리스를 지원해야 합니다. 분기 전략의 복잡성이 증가함에 따라 CI/CD 사용도 더 중요해집니다. 이는 CI/CD가 개발자가 정의된 프로세스를 의도적으로 또는 의도하지 않게 우회하지 못하도록 하는 개발 팀을 위한 가드레일과 메커니즘을 설정하기 때문입니다.

AWS 는 CI/CD 파이프라인을 구축하는 데 도움이 되도록 설계된 개발자 서비스 제품군을 제공합니다. 예를 들어 AWS CodePipeline는 빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위해 릴리스 파이프라인을 자동화하는 데 도움이 되는 완전관리형 지속적 제공 서비스입니다.는 소스 코드를 AWS CodeBuild컴파일하고 테스트를 실행하며 ready-to-deploy 있는 소프트웨어 패키지를 생성합니다. 자세한 내용은 AWS의 개발자 도구를 참조하세요.