본문 바로가기
CSP (Cloud Service Provider)/Azure

[Azure] Azure Devops - Repos

by BTC_효범 2023. 6. 22.

안녕하세요 BTC95 입니다.

오늘은 AWS CodeCommit과 비교할 수 있는 Azure DevOps 서비스의 Azure Repos에 대하여 알아보겠습니다.


Azure DevOps

Azure DevOps는 개발 및 운영 (DevOps) 프로세스를 지원하기 위한 종합적인 클라우드 기반 플랫폼입니다. 개발자들과 IT 운영팀이 함께 협업하여 애플리케이션을 개발, 테스트, 배포 및 관리하는 데 사용됩니다.

 

소프트웨어 개발의 전체 생명주기를 관리하는 다양한 도구, 서비스 및 기능으로 구성됩니다. 주요 구성 요소로는 다음과 같은 것들이 있습니다.

  • Azure Boards
  • Azure Repos
  • Azure Pipelines
  • Azure Test Plans
  • Azure Artifacts

앞서 말씀드린 것 처럼 오늘은 위 기능 중 Azure Repos에 대하여 알아보겠습니다.


Azure Repos

Azure Repos는 Azure DevOps에서 AWS CodeCommit과 비슷한 기능을 수행하는 서비스는 Azure Repos입니다. Azure Repos는 소스 코드 저장소로 사용되며, 코드의 버전 관리, 협업 기능, 소스 코드 보호 등을 제공합니다.

 

Git 버전 관리 시스템을 기반으로 하며, 개발자들이 소스 코드를 공유하고 협업하는 데 사용됩니다. 다양한 기능을 제공하여 개발자들이 코드 변경 사항을 추적하고 관리할 수 있습니다. 

일반적인 Git 작업 흐름을 따라 브랜치, 병합, 커밋 등을 관리할 수 있으며, 코드 검토, 이슈 트래킹, 자동 빌드 및 배포 등의 기능도 포함되어 있습니다.

또한, 단지 소스 코드 저장소 역할뿐만 아니라 프로젝트 관리, CI/CD(지속적 통합/지속적 배포), 이슈 트래킹 등을 포함한 다양한 개발 운영 기능을 제공합니다.

 

주요 기능

1) 소스 코드 관리: Git 또는 Team Foundation Version Control (TFVC)를 통해 소스 코드의 버전 관리를 지원합니다. Git을 사용하면 분산 버전 관리 시스템을 활용하여 개발자들이 동시에 작업하고 변경 사항을 추적할 수 있습니다. TFVC는 중앙 집중식 버전 관리 시스템으로, 대규모 프로젝트에 적합한 기능을 제공합니다.

2) 협업과 코드 검토: 다수의 개발자가 함께 작업하고 코드 변경 사항을 검토할 수 있는 협업 기능을 제공합니다. Pull 요청(Pull Request)을 통해 코드 변경 사항을 검토하고 승인할 수 있으며, 주석과 피드백을 주고받을 수 있습니다.

3) 이슈 트래킹: 프로젝트 내에서 발생하는 이슈를 추적하고 관리할 수 있는 기능을 제공합니다. 버그 리포트, 기능 요청, 작업 항목 등을 생성하고 할당하며, 이슈의 상태 변화를 추적하고 우선 순위를 지정할 수 있습니다.

4) CI/CD 지원: CI/CD(지속적 통합/지속적 배포) 기능을 지원하여 소스 코드의 자동 빌드, 테스트, 배포를 관리할 수 있습니다. Azure Pipelines와 통합하여 소스 코드 변경 사항을 자동으로 빌드하고 배포하는 파이프라인을 구성할 수 있습니다.

5) 보안과 권한 관리: 소스 코드의 보안과 접근 권한 관리를 지원합니다. 개발자들에게 필요한 권한을 할당하여 소스 코드에 대한 접근을 제어할 수 있습니다.

이러한 기능들을 통해 개발자들이 효율적으로 소스 코드를 관리하고 협업하며, 안정적인 소프트웨어 개발 프로세스를 구축할 수 있도록 도와줍니다.

 

사용 사례

1) 팀 기반 개발: 개발 팀이 함께 작업하고 소스 코드를 관리하는 데 이상적입니다. 팀원들은 Git을 사용하여 소스 코드를 공유하고 협업하며, 브랜치를 생성하여 독립적으로 작업할 수 있습니다. Pull 요청을 통해 코드 리뷰 및 승인 프로세스를 수행하여 팀의 코드 품질을 유지할 수 있습니다.

2) 분산 개발: 지리적으로 분산된 개발 팀이 함께 작업하는 경우에도 유용합니다. Git의 분산 버전 관리 기능을 활용하여 각 개발자가 독립적으로 작업하고 변경 사항을 추적할 수 있습니다. 이를 통해 팀 간의 협업 및 코드 통합 과정을 간편하게 관리할 수 있습니다.

3) 오픈 소스 프로젝트: 오픈 소스 프로젝트에서 소스 코드를 관리하는 데 이용될 수 있습니다. 프로젝트에 기여하려는 개발자들이 Git을 통해 코드를 포크(Fork)하여 개별적으로 작업하고, Pull 요청을 통해 원본 프로젝트로 코드 변경 사항을 제안할 수 있습니다. 이를 통해 커뮤니티 기반의 개발과 코드 리뷰가 가능해집니다.

4) CI/CD 자동화: CI/CD 파이프라인과 통합하여 소스 코드 변경 사항의 자동 빌드, 테스트, 배포를 지원합니다. Azure Pipelines와 함께 사용하여 소프트웨어의 지속적인 통합과 배포를 구현할 수 있습니다. 코드 변경 사항이 특정 브랜치에 푸시되면 자동으로 빌드 및 배포 작업이 실행되므로 개발자들은 소프트웨어의 품질과 안정성을 유지할 수 있습니다.

5) 보안과 권한 관리: 소스 코드의 보안과 접근 권한 관리를 제공하여 중요한 소스 코드 자산을 보호할 수 있습니다. 팀원들에게 적절한 권한을 할당하고, 코드 저장소에 대한 액세스 제어를 설정할 수 있습니다. 이를 통해 민감한 코드나 비공개 프로젝트의 보안을 유지할 수 있습니다.

이외에도 소프트웨어 개발 및 협업 프로세스에서 다양한 용도로 활용될 수 있습니다. 개발자들이 소스 코드를 효율적으로 관리하고 협업하는 데 도움을 주는 강력한 도구입니다.


감사합니다.

'CSP (Cloud Service Provider) > Azure' 카테고리의 다른 글

[Azure] Release Pipelines  (0) 2023.07.19
[Azure] Azure Build Pipelines  (0) 2023.07.06
[Azure] Azure Functions  (0) 2023.06.09
Azure Load Testing 사용방법  (0) 2023.05.24
Azure DevOps 개념  (0) 2023.03.06

댓글