다음을 통해 공유


Azure DevOps란?

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure DevOps는 소프트웨어 개발 팀을 위한 통합 도구를 제공하는 클라우드 기반 플랫폼입니다. 여기에는 작업을 계획하고, 코드에서 공동 작업하고, 애플리케이션을 빌드하고, 기능을 테스트하고, 프로덕션에 배포하는 데 필요한 모든 것이 포함됩니다.

Azure DevOps는 모든 팀의 고유한 요구 사항을 수용하는 다양한 서비스 모델을 제공합니다. 무료 액세스 버전은 소규모 팀이 빠르게 시작하는 데 도움이 되며, 다양한 구독 및 사용량에 따른 요금제는 포괄적인 프로젝트 관리를 지원합니다.

주요 특징:

  • 엔드 투 엔드 프로젝트 관리: Azure DevOps는 소프트웨어 프로젝트의 전체 수명 주기를 지원하도록 설계된 응집력 있는 서비스 제품군입니다. 초기 계획 및 개발부터 엄격한 테스트, 최종 배포에 이르기까지 모든 것을 포함합니다.

  • 클라이언트/서버 모델 배달: Azure DevOps는 클라이언트/서버 모델에서 작동하여 서비스와 상호 작용하는 방법에 유연성을 제공합니다. 웹 인터페이스는 대부분의 서비스를 활용하는 편리한 방법을 제공하며 모든 주요 브라우저와 호환됩니다. 또한 소스 제어, 빌드 파이프라인 및 작업 추적과 같은 특정 서비스는 향상된 제어를 위한 클라이언트 기반 관리 옵션을 제공합니다.

  • 유연하고 확장 가능한 서비스 옵션: Azure DevOps는 다양한 서비스 옵션을 제공하여 모든 규모의 팀을 수용합니다. 소규모 팀의 경우 많은 서비스가 무료이므로 초기 투자 없이도 강력한 프로젝트 관리 도구에 액세스할 수 있습니다. 더 큰 팀 또는 고급 요구 사항의 경우 구독 모델을 통해 또는 종량제 기준으로 서비스에 액세스할 수 있습니다.

핵심 서비스

Azure DevOps에는 다음과 같은 통합 서비스가 포함됩니다.

Azure DevOps 탐색에 나열된 서비스의 스크린샷.

Azure Boards: Agile 도구, Kanban 보드, 백로그 및 대시보드를 사용하여 작업을 계획하고 추적합니다. 사용자 스토리, 버그 및 작업과 같은 작업 항목을 만듭니다. 스프린트 계획, 번다운 차트 및 속도 추적을 사용합니다. 워크플로 및 작업 항목 유형을 팀의 프로세스와 일치하도록 사용자 지정합니다.

예제 시나리오: 모바일 앱 기능을 계획하는 제품 팀은 "사용자 로그인"에 대한 사용자 스토리를 만들고, 개발 중에 발견된 버그를 추적하고, 스프린트 보드를 사용하여 2주 반복 동안 진행 상황을 모니터링합니다.

Azure Repos: 무제한 프라이빗 Git 리포지토리를 호스트하거나 소스 코드 관리에 TFVC(Team Foundation 버전 제어)를 사용합니다. 기능에는 분기 정책, 코드 검토가 있는 끌어오기 요청, 충돌 해결 및 인기 있는 IDE 및 편집기와의 통합이 포함됩니다.

예제 시나리오: 개발 팀 구성원은 새 기능을 위한 기능 분기를 만들고, 코드 검토를 위해 끌어오기 요청을 제출하고, 분기 정책을 사용하여 주 분기에 병합하기 전에 모든 코드를 검토하고 테스트합니다.

Azure Pipelines: 모든 언어, 플랫폼 및 클라우드에서 작동하는 CI/CD 파이프라인을 사용하여 애플리케이션을 빌드, 테스트 및 배포합니다. Azure, AWS, Google Cloud 또는 온-프레미스에 대한 Docker 컨테이너, Kubernetes 및 배포를 지원합니다. 병렬 작업, 배포 게이트 및 릴리스 승인을 포함합니다.

예제 시나리오: 모든 코드 커밋은 .NET 웹 애플리케이션을 빌드하고, 단위 테스트를 실행하고, Docker 컨테이너를 만들고, 프로덕션 릴리스 전에 테스트를 위한 스테이징 환경에 배포하는 자동화된 파이프라인을 트리거합니다.

Azure 테스트 계획: 수동 테스트 사례, 예비 테스트 세션 및 자동화된 테스트 통합을 사용하여 테스트를 계획, 실행 및 추적합니다. 테스트 도구 모음을 만들고, 테스트 결과를 추적하고, 스크린샷 및 비디오를 캡처하고, 자세한 테스트 보고서를 생성합니다.

예제 시나리오: QA 팀은 사용자 등록 흐름에 대한 테스트 사례를 만들고, 다른 브라우저에서 수동 테스트를 실행하고, 문제의 스크린샷을 캡처하고, 추적 가능성을 위해 테스트 결과를 사용자 스토리에 연결합니다.

Azure Artifacts: NuGet, npm, Maven, Python 및 유니버설 패키지와 같은 패키지를 만들고, 호스트하고, 팀 및 조직과 공유합니다. 빌드 파이프라인과 통합하고, 패키지 버전을 관리하고, 업스트림 원본 및 보존 정책을 사용하여 액세스를 제어합니다.

예제 시나리오: 개발 팀은 공유 인증 라이브러리를 만들고, NuGet 패키지로 Azure Artifacts에 게시하고, 내부 패키지에 대한 액세스를 제어하면서 여러 프로젝트에서 참조합니다.

Azure DevOps 서비스가 함께 작동하는 방법

다음 다이어그램에서는 개발 수명 주기 동안 서비스가 통합되는 방법을 보여 줍니다.

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Azure Boards  │    │   Azure Repos   │    │ Azure Pipelines │
│                 │    │                 │    │                 │
│ • Plan features │────│ • Store code    │────│ • Build apps    │
│ • Track bugs    │    │ • Code reviews  │    │ • Run tests     │
│ • Manage sprints│    │ • Branch policies│   │ • Deploy code   │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │                       │
         │                       │                       │
         ▼                       ▼                       ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│ Azure Test Plans│    │ Azure Artifacts │    │   Dashboards    │
│                 │    │                 │    │                 │
│ • Test planning │    │ • Package feeds │    │ • Project views │
│ • Manual testing│◄───│ • Version control│───►│ • Team metrics  │
│ • Test reporting│    │ • Dependency mgmt│   │ • Build status  │
└─────────────────┘    └─────────────────┘    └─────────────────┘

Flow: Plan → Code → Build → Test → Deploy → Monitor → Repeat

일반적인 워크플로:

  1. Azure Boards에서 작업 항목을 계획하기
  2. Azure Repos의 끌어오기 요청과 함께하는 코드 기능
  3. Azure Pipelines 및 Azure Artifacts를 사용하여 빌드하고 패키징하기
  4. Azure Test Plans를 사용하여 수동 및 자동으로 테스트
  5. Azure Pipelines를 통해 다양한 환경에 배포
  6. 대시보드를 통해 진행률 및 메트릭 모니터링
  7. 피드백 및 새 요구 사항에 따라 반복

자세한 내용은 Azure DevOps에 연결하는 도구 및 클라이언트를 참조하세요.

계기판

Azure DevOps는 실시간 프로젝트 데이터 및 워크플로를 표시하는 사용자 지정 가능한 대시보드를 제공합니다. 팀의 진행 상황 및 성능을 모니터링하는 개인 설정된 보기를 만듭니다.

주요 기능:

  • 여러 대시보드: 빌드 상태, 테스트 결과 및 작업 항목 쿼리를 보여 주는 위젯을 사용하여 대시보드 만들기 및 사용자 지정
  • 빠른 탐색: 대시보드를 중앙 허브로 사용하여 프로젝트의 여러 영역에 액세스
  • 확장성: 타사 서비스를 통합하거나 사용자 지정 확장을 만들어 기능을 확장합니다.

자세한 내용은 대시보드 설명서를 참조 하세요.

Agile 리드 타임, Future Spring, 새 작업 항목, 진행 중인 작업 및 팀 속도를 보여 주는 대시보드 방문 페이지의 스크린샷

Azure Boards

최신 소프트웨어 개발에는 팀 전체에서 효율적인 작업 추적 및 협업이 필요합니다. Azure Boards는 개발 수명 주기 내내 계획 및 추적을 간소화하는 Agile 도구를 제공합니다.

주요 기능:

  • 작업 항목 관리: 사용자 스토리, 버그, 작업 및 기능 만들기 및 업데이트
  • 쿼리 및 차트: 사용자 지정 쿼리를 빌드하고 상태 차트를 생성하여 진행률 시각화
  • 백로그 관리: 작업의 우선 순위를 지정하고 명확하고 실행 가능한 백로그 유지 관리
  • 스프린트 계획: 속도 메트릭을 사용하여 반복 계획 및 스프린트 진행률 추적
  • 작업 보드: 대화형 Kanban 보드를 통해 작업 상태 업데이트
  • 포트폴리오 관리: 에픽에서부터 작업까지 계층적으로 업무 구성
  • 스크럼 지원: 실시간 보드를 사용하여 일일 스탠드업 및 스프린트 검토 촉진

Azure Boards는 개발 프로세스를 통해 진행 상황을 추적하는 사용자 지정 가능한 필드가 있는 여러 작업 항목 유형을 지원합니다. 스크럼, Kanban 또는 스크럼반을 연습하든 관계없이 Azure Boards는 방법론을 지원하는 백로그와 보드를 제공합니다.

Teams는 프로젝트 상태를 완벽하게 파악하여 포괄적인 대시보드 및 보고를 통해 데이터 기반 의사 결정 및 추세 모니터링을 가능하게 합니다.

자세한 내용은 Azure Boards란?

새 항목, 활성 항목 및 분석할 항목을 비롯한 여러 카드를 보여 주는 Azure Boards 백로그 페이지의 스크린샷.

Azure Repos

Azure Repos는 전체 변경 기록을 유지하면서 코드베이스에서 원활한 협업을 가능하게 하는 소스 제어 시스템을 제공합니다. 이러한 리포지토리는 개발 전반에 걸쳐 일관성과 조정을 보장하는 다중 개발자 프로젝트에 필수적입니다.

폴더 및 추가 정보 파일이 있는 리포지토리의 'main' 분기를 보여 주는 Azure Repos 방문 페이지의 스크린샷.

Azure DevOps는 GitTFVC(Team Foundation 버전 제어)의 두 가지 소스 제어 옵션을 지원합니다.

Git (기트 - 버전 관리 도구)

Git은 각 개발자에 대한 로컬 리포지토리 복사본을 사용하여 분산 버전 제어를 제공하여 오프라인 작업 및 유연한 분기를 가능하게 합니다. Git은 새 프로젝트에 대한 기본 선택입니다.

비고

Azure DevOps의 Git은 표준 Git입니다. 비 Microsoft Git 서비스에서 Visual Studio를 사용할 수 있습니다. Azure DevOps Server에서 비 Microsoft Git 클라이언트를 사용할 수도 있습니다.

주요 기능:

  • 파일 검토: 파일 세부 정보 및 변경 기록 검사
  • 파일 다운로드 및 편집: 로컬 복사본 가져오기 및 수정
  • 커밋 관리: 커밋 추적 및 명확한 변경 기록 유지
  • 풀 리퀘스트 사용: 협업 코드 리뷰 생성, 검토 및 완료
  • Git 태그 사용: 리포지토리 기록에서 특정 지점 표시

TFVC

TFVC(Team Foundation Version Control)는 서버 쪽 기록 관리를 통해 중앙 집중식 버전 제어를 제공합니다. 서버가 전체 변경 기록을 유지하는 동안 개발자는 로컬로 단일 파일 버전을 사용합니다.

주요 기능:

  • 단일 버전 워크플로: 개발자는 현재 파일 버전을 사용하여 작업하여 복잡성을 줄입니다.
  • 서버 쪽 기록: 서버에 안전하게 저장된 모든 변경 내용 및 버전
  • 경로 기반 분기: 명확한 조직이 있는 서버 관리 분기

개발 환경 통합

Azure DevOps는 광범위한 도구 통합을 사용하여 다중 플랫폼 개발을 지원합니다.

  • 플랫폼 간 지원: Android, iOS, Linux, macOS 및 Windows용 빌드
  • IDE 통합: Android Studio, Eclipse, IntelliJ, Visual Studio, VS Code 및 Xcode에서 작동
  • 언어 지원: .NET, Java, Node.js, Python, PHP, Ruby 등을 지원합니다.
  • 클라이언트 유연성: 기본 설정 개발 도구로 Git 또는 TFVC 사용

Azure Pipelines (애저 파이프라인스)

Azure Pipelines는 빌드, 테스트 및 릴리스 프로세스를 자동화하여 빠르고 안정적인 소프트웨어 제공을 가능하게 합니다.

핵심 기능:

  • 자동화된 빌드: 코드 커밋 시 빌드를 트리거하고, 자동 통합 및 검증 수행
  • 테스트 통합: 빌드 후 테스트를 실행하여 변경 내용의 유효성을 검사하고 문제를 조기에 검색
  • 릴리스 파이프라인: 스테이징에서 프로덕션에 이르기까지 환경에서 빌드를 배포합니다.

주요 기능:

  • CI(연속 통합) : 자동으로 코드 변경 빌드 및 테스트
  • CD(지속적인 업데이트): 개발에서 프로덕션으로 안정적인 릴리스 간소화
  • 빌드 자동화: 정의된 단계 및 트리거를 사용하여 빌드 프로세스 사용자 지정
  • 릴리스 관리: 다중 환경 배포 파이프라인 구성
  • 배포 자동화: 수동 작업 및 배포 오류 줄이기
  • 승인 워크플로: 빌드를 승격하기 전에 확인 계층 추가
  • 릴리스 추적: 환경 간 배포 모니터링

자세한 내용은 Azure Pipelines란?

최근에 실행된 파이프라인 목록을 보여 주는 Azure Pipelines 방문 페이지의 스크린샷

Azure 테스트 계획

Azure Test Plans를 사용하면 수동, 예비 및 자동화된 테스트 관리를 통해 포괄적인 테스트를 수행할 수 있습니다.

주요 기능:

  • 워크플로 사용자 지정: 프로젝트 요구 사항에 맞는 사용자 지정 가능한 테스트 계획, 제품군 및 사례 만들기
  • 추적 가능성: 종단 간 추적을 위한 사례 및 버그를 테스트하기 위해 요구 사항을 직접 연결
  • 테스트 선택: 조건 기반 테스트 선택에 쿼리 기반 테스트 도구 모음 사용
  • 사용자에게 친숙한 인터페이스: Excel과 유사한 그리드 인터페이스를 통해 테스트 사례 관리
  • 재사용 가능한 요소: 일관성을 위해 테스트 간에 테스트 단계 및 매개 변수 공유
  • 공동 작업: 검토 및 피드백을 위해 관련자와 테스트 계획 공유
  • 플랫폼 간 실행: 모든 플랫폼의 브라우저에서 테스트 실행
  • 활동 모니터링: 실시간 차트 및 보고를 사용하여 테스트 진행률 추적

자세한 내용은 Azure Test Plans 설명서를 참조하세요.

테스트 계획의 테스트 도구 모음 및 테스트 사례의 세로 레이아웃을 보여 주는 테스트 계획 방문 페이지의 스크린샷

Azure Artifacts (Azure의 아티팩트)

Azure Artifacts를 사용하면 NuGet, npm, Maven, Python 및 유니버설 패키지에 대한 패키지 관리를 사용할 수 있습니다. 빌드 파이프라인과 통합하고, 버전을 관리하고, 업스트림 원본 및 보존 정책을 사용하여 액세스를 제어합니다.

주요 기능:

  • 여러 패키지 유형: 단일 피드에서 모든 주요 패키지 형식 호스트
  • 업스트림 원본: 보안을 유지하면서 공용 리포지토리에 연결
  • 패키지 버전 관리: 의미 체계 버전 관리 및 보존 정책을 사용하여 버전 관리
  • 액세스 제어: 세분화된 액세스 관리를 사용하여 피드 권한 제어
  • 빌드 통합: 빌드 파이프라인에서 패키지 자동 게시 및 사용
  • 코드 검색: 경로, 파일 확장명 및 코드 형식별로 필터링을 사용하여 리포지토리 검색

공동 작업 서비스

Azure DevOps는 통신 및 프로젝트 추적을 간소화하도록 설계된 다음 서비스를 통해 팀 협업을 향상시킵니다.

  • 프로젝트 위키: 쉽게 액세스할 수 있는 중앙 위키로 프로젝트 세부 정보, 지침 및 기술 자료를 문서화합니다.
  • 작업 항목 토론: 작업 항목 양식 내에서 직접 대화를 용이하게 하고 상황에 맞는 적시에 통신할 수 있습니다.
  • 추적 가능성 링크: 작업 항목, 커밋, 끌어오기 요청 등 간에 링크를 설정하고 프로젝트 전체에서 포괄적인 추적 가능성을 보장하는 데 도움이 됩니다.
  • 경고 및 알림: 팀 구성원에게 프로젝트 업데이트 및 변경 내용에 대한 정보를 유지하도록 개인 설정된 경고 및 변경 알림을 설정합니다.
  • 피드백 관리: 피드백 요청, 제공 및 관리 프로세스를 간소화하여 프로젝트 결과를 지속적으로 개선합니다.
  • 분석보고: 분석 서비스 및 Power BI 보고를 사용하여 프로젝트 성능에 대한 인사이트를 제공하고 데이터 기반 결정을 내립니다.

이러한 협업 서비스는 프로젝트 요구 및 기회에 신속하게 대응할 수 있는 응집력 있고 정보에 입각한 팀을 유지하는 데 필수적입니다.

서비스 연결고리

서비스 후크는 외부 서비스와의 상호 작용을 자동화하고 프로젝트 이벤트에 응답합니다. 빌드가 실패하거나, 코드가 커밋되거나, 작업 항목이 변경되면 알림을 보내거나, 작업을 트리거하거나, 비 Microsoft 도구와 통합하도록 후크를 구성합니다.

주요 기능:

  • 사용자 지정 앱 통합: Azure DevOps 이벤트를 기반으로 애플리케이션에서 자동화된 작업 트리거
  • 서비스 대상: 프로젝트 이벤트에 대한 자동화된 응답을 위해 다양한 외부 서비스에 연결

사용 가능한 통합은 Visual Studio Marketplace를 참조하세요. 자세한 내용은 서비스 후크와 통합을 참조하세요.

Azure 클라우드 호스팅 서비스

Azure는 원활한 워크플로를 위해 독립적으로 작동하거나 Azure DevOps와 통합되는 애플리케이션 개발 및 배포를 위한 클라우드 서비스를 제공합니다.

주요 이점:

  • 포괄적인 지원: 전체 애플리케이션 수명 주기에 대한 전체 인프라 및 플랫폼 지원
  • Azure DevOps와의 통합: 결합된 서비스는 통합 개발 환경을 만듭니다.

전체 서비스 카탈로그는 Azure 제품을 참조하세요.

관리 서비스

Azure DevOps는 프로젝트 및 팀을 효과적으로 관리하기 위한 간소화된 관리 도구를 제공합니다.

주요 기능:

  • 웹 포털 관리: Azure DevOps 웹 포털을 통해 관리 작업 수행
  • 포괄적인 설정: 세분화된 제어를 사용하여 사용자, 팀, 프로젝트 및 조직에 대한 자세한 설정 구성

자세한 내용은 사용자, 팀, 프로젝트 및 조직 수준 설정 정보를 참조 하세요.

주요 기능

프로젝트 관리

  • 사용자 스토리, 기능, 버그 및 작업 추적
  • Agile 방법론을 사용하여 스프린트 및 릴리스 계획
  • 번다운 차트 및 속도 추적을 사용하여 진행률 모니터링
  • 작업 항목 유형 및 워크플로 사용자 지정

소스 제어

  • 무제한 프라이빗 Git 리포지토리 호스트
  • 분기, 병합 및 끌어오기 요청을 비롯한 Git 워크플로 지원
  • 주석 및 승인 정책을 사용하는 코드 검토 기능
  • GitHub 및 기타 Git 공급자와 통합

빌드 및 배포

  • 코드 변경으로 트리거되는 자동화된 빌드와 연속 통합
  • .NET, Java, Node.js, Python, Android, iOS, Linux, macOS 및 Windows에 대한 다중 플랫폼 지원
  • Azure, AWS, GCP 또는 온-프레미스 환경에 배포
  • 개발, 스테이징 및 프로덕션 전반에 걸친 다중 환경 배포
  • 승인 게이트 및 배포 전략을 사용하여 릴리스 관리
  • 더 빠른 CI/CD를 위해 여러 빌드 에이전트를 사용하여 병렬 처리

테스트 및 품질

  • 수동 테스트 사례 관리 및 실행
  • 빌드 파이프라인의 자동화된 테스트 통합
  • 코드 검사 및 테스트 보고
  • 보안 검사 및 규정 준수 검사

Azure DevOps Services를 선택하는 이유는 무엇인가요?

Azure DevOps Services는 개발 팀에 다음과 같은 몇 가지 이점을 제공합니다.

  • 빠른 설정: 인프라 설정 또는 유지 관리 없이 Azure DevOps 즉시 사용 시작
  • 자동 업데이트: 수동 개입 없이 최신 기능 및 보안 업데이트 가져오기
  • 글로벌 규모: 99.9% SLA를 사용하여 Azure의 글로벌 인프라를 기반으로 구축
  • 보안: Microsoft Entra ID 통합, 규정 준수 인증 및 데이터 보호를 사용하는 엔터프라이즈급 보안
  • 통합: GitHub, Visual Studio, VS Code 및 마켓플레이스의 수백 개의 확장에서 작동
  • 유연성: 모든 개발 스택, 언어 또는 플랫폼에 대한 지원
  • 공동 작업: 팀 간의 장벽을 제거하고 전체 개발 수명 주기에서 공동 작업 장려

가격 책정 및 액세스

  • 소규모 팀 무료: 최대 5명의 사용자가 모든 기본 기능에 액세스할 수 있습니다.
  • Pay-as-you-grow: 필요에 따라 Basic 또는 Basic + Test Plans 라이선스가 있는 사용자를 추가하십시오.
  • 무제한 이해 관계자: 무제한 이해 관계자가 대시보드 및 작업 항목을 볼 수 있는 무료 액세스 권한

Azure DevOps Server

Azure DevOps Server는 데이터를 온-프레미스에 유지해야 하거나 클라우드 서비스에서 사용할 수 없는 특정 사용자 지정이 필요한 조직에서 사용할 수 있습니다. Azure DevOps Services와 동일한 핵심 서비스를 포함하지만 자체 인프라 및 유지 관리가 필요합니다.

Azure DevOps Server에 대한 자세한 내용은 Azure DevOps Server 설치를 참조하세요.

시작하기

Azure DevOps를 시작할 준비가 되셨나요? 다음 단계는 다음과 같습니다.

  1. 무료 조직 만들기 - Azure DevOps Services 조직 설정
  2. 첫 번째 프로젝트 만들기 - 작업 구성 시작
  3. 팀 구성원 초대 - 공동 작업할 팀 동료 추가
  4. 리포지토리 가져오기 또는 만들기 - Azure Repos로 코드 가져오기
  5. 첫 번째 파이프라인 설정 - 빌드 및 배포 자동화