에이전트 풀 만들기 및 관리

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

참고

Microsoft TFS(Team Foundation Server) 2018 이하 버전에서 빌드 및 릴리스 ‘파이프라인’은 ‘정의’라고 하며 ‘실행’은 ‘빌드’, ‘서비스 연결’은 ‘서비스 엔드포인트’, ‘스테이지’는 ‘환경’, ‘작업’은 ‘단계’라고 합니다.

에이전트 풀은 에이전트의 컬렉션입니다. 각 에이전트를 개별적으로 관리하는 대신 에이전트에이전트 풀로 구성합니다. TFS에서 풀의 범위는 전체 서버로 지정됩니다. 프로젝트 컬렉션 및 프로젝트에서 에이전트 풀을 공유할 수 있습니다.

에이전트 큐는 프로젝트 내의 에이전트 풀에 대한 액세스를 제공합니다. 빌드 또는 릴리스 파이프라인을 만들 때 사용하는 큐를 지정합니다. 큐는 TFS 2017 이상에서 프로젝트로 범위가 지정되므로 프로젝트 내의 빌드 및 릴리스 파이프라인에서만 사용할 수 있습니다.

여러 프로젝트와 에이전트 풀을 공유하려면 각 프로젝트에서 동일한 에이전트 풀을 가리키는 에이전트 큐를 만듭니다. 여러 프로젝트에서 여러 큐가 동일한 에이전트 풀을 사용할 수 있지만 프로젝트 내의 여러 큐는 동일한 에이전트 풀을 사용할 수 없습니다. 또한 각 에이전트 큐는 하나의 에이전트 풀만 사용할 수 있습니다.

TFS 2017 and TFS 2018 build system architecture

에이전트 풀은 에이전트의 컬렉션입니다. 각 에이전트를 개별적으로 관리하는 대신 에이전트 를 에이전트 풀로 구성합니다. 에이전트를 구성할 때 단일 풀에 등록되고 파이프라인을 만들 때 파이프라인이 실행되는 풀을 지정합니다. 파이프라인을 실행하면 파이프라인의 요구를 충족하는 해당 풀의 에이전트에서 실행됩니다.

Azure Pipelines 풀의 범위는 전체 조직으로 지정되므로 여러 프로젝트에서 에이전트 컴퓨터를 공유할 수 있습니다.

Azure DevOps Server 에이전트 풀의 범위는 전체 서버로 지정되므로 프로젝트 및 컬렉션 간에 에이전트 머신을 공유할 수 있습니다.

참고

에이전트 풀 작업은 단일 에이전트에서 작업을 실행합니다. 클래식 릴리스 파이프라인에 대한 배포 그룹과 같은 모든 에이전트에서 작업을 실행해야 하는 경우 배포 그룹 프로비저닝을 참조하세요.

관리자 설정의 에이전트 풀 탭에서 에이전트 풀을 만들고 관리합니다.

조직 관리자인 경우 관리자 설정의 에이전트 풀 탭에서 에이전트 풀을 만들고 관리합니다.

  1. Azure DevOps, 조직 설정을 선택합니다.

    Choose Organization settings.

  2. 에이전트 풀을 선택합니다.

    Choose Agent pools tab.

  1. Azure DevOps컬렉션 설정을 선택합니다.

    Choose Collection settings.

  2. 에이전트 풀을 선택합니다.

    Choose Agent pools.

  1. Azure DevOps컬렉션 설정을 선택합니다.

    Collection settings, 2019.

  2. 에이전트 풀을 선택합니다.

    Choose Agent pools, 2019.

  1. 프로젝트로 이동하여 설정(기어 아이콘) >에이전트 큐를 선택합니다.

    Choose Settings, Agent Queues, 2018.

  2. 풀 관리를 선택합니다.

    Choose Manage pools, 2018.

프로젝트 설정의 에이전트 큐 탭에서 에이전트 큐를 만들고 관리합니다.

프로젝트 팀 구성원인 경우 프로젝트 설정의 에이전트 풀 탭에서 에이전트 큐를 만들고 관리합니다.

프로젝트로 이동하여 Project 설정, 에이전트 풀을 선택합니다.

Navigate to your project and choose Project settings, Agent pools.

프로젝트로 이동하여 Project 설정, 에이전트 풀을 선택합니다.

Navigate to your project and choose Project settings, Agent pools (2020).

프로젝트로 이동하여 Project 설정, 에이전트 풀을 선택합니다.

Navigate to your project and choose Project settings, Agent pools (2019).

프로젝트로 이동하여 설정(기어 아이콘) >에이전트 큐를 선택합니다.

Choose settings, Agent Queues, TFS 2018.

기본 에이전트 풀

기본적으로 제공되는 에이전트 풀은 다음과 같습니다.

  • 다양한 Windows, Linux 및 macOS 이미지를 사용하여 호스트된 풀을 Azure Pipelines. 사용 가능한 이미지 및 설치된 소프트웨어의 전체 목록은 Microsoft 호스팅 에이전트를 참조하세요.

    참고

    Azure Pipelines 호스트된 풀은 해당 이미지에 매핑된 이름이 있는 이전 호스트된 풀을 대체합니다. 이전 호스트된 풀에 있던 모든 작업은 새 Azure Pipelines 호스트된 풀의 올바른 이미지로 자동으로 리디렉션됩니다. 일부 상황에서는 여전히 이전 풀 이름이 표시되지만 백그라운드에서 호스트된 작업은 Azure Pipelines 풀을 사용하여 실행됩니다. 자세한 내용은 2019년 7월 1일 - Sprint 154 릴리스 정보에서 단일 호스팅 풀 릴리스 정보를 참조하세요.

기본적으로 프로젝트의 모든 기여자는 호스트된 풀에서 사용자 역할의 멤버입니다. 이렇게 하면 프로젝트의 모든 참가자가 Microsoft 호스팅 에이전트를 사용하여 파이프라인을 작성하고 실행할 수 있습니다.

파이프라인에서 풀 지정

YAML Pipelines Azure DevOps Server 2019 이상에서 지원됩니다.

Azure DevOps Services YAML 파이프라인의 Azure Pipelines 풀에서 Microsoft 호스팅 에이전트를 선택하려면 테이블의 YAML VM 이미지 레이블을 사용하여 이미지의 이름을 지정합니다.

pool:
  vmImage: ubuntu-latest # This is the default if you don't specify a pool or vmImage.

요청 없이 프라이빗 풀을 사용하려면 다음을 수행합니다.

pool: MyPool

자세한 내용은 풀에 대한 YAML 스키마 를 참조 하세요.

풀 및 큐 관리

관리자 설정의 에이전트 풀 탭에서 에이전트 풀을 만들고 관리합니다.

조직 관리자인 경우 관리자 설정의 에이전트 풀 탭에서 에이전트 풀을 만들고 관리합니다.

  1. Azure DevOps, 조직 설정을 선택합니다.

    Choose Organization settings.

  2. 에이전트 풀을 선택합니다.

    Choose Agent pools tab.

  1. Azure DevOps컬렉션 설정을 선택합니다.

    Choose Collection settings.

  2. 에이전트 풀을 선택합니다.

    Choose Agent pools.

  1. Azure DevOps컬렉션 설정을 선택합니다.

    Collection settings, 2019.

  2. 에이전트 풀을 선택합니다.

    Choose Agent pools, 2019.

  1. 프로젝트로 이동하여 설정(기어 아이콘) >에이전트 큐를 선택합니다.

    Choose Settings, Agent Queues, 2018.

  2. 풀 관리를 선택합니다.

    Choose Manage pools, 2018.

프로젝트 설정의 에이전트 큐 탭에서 에이전트 큐를 만들고 관리합니다.

프로젝트 팀 구성원인 경우 프로젝트 설정의 에이전트 풀 탭에서 에이전트 큐를 만들고 관리합니다.

프로젝트로 이동하여 Project 설정, 에이전트 풀을 선택합니다.

Navigate to your project and choose Project settings, Agent pools.

프로젝트로 이동하여 Project 설정, 에이전트 풀을 선택합니다.

Navigate to your project and choose Project settings, Agent pools (2020).

프로젝트로 이동하여 Project 설정, 에이전트 풀을 선택합니다.

Navigate to your project and choose Project settings, Agent pools (2019).

프로젝트로 이동하여 설정(기어 아이콘) >에이전트 큐를 선택합니다.

Choose settings, Agent Queues, TFS 2018.

풀은 작업을 실행하는 데 사용됩니다. 작업에 대한 풀 지정 방법을 알아봅니다.

여러 팀 또는 용도로 구성된 자체 호스팅 에이전트가 많은 경우 아래에 설명된 대로 추가 풀을 만들 수 있습니다.

에이전트 풀 만들기

다음은 자체 호스팅 에이전트 풀을 만들려는 몇 가지 일반적인 상황입니다.

  • 프로젝트의 구성원이며 빌드 및 배포 작업을 실행하기 위해 팀에서 소유한 컴퓨터 집합을 사용하려고 합니다. 먼저 프로젝트 설정의 에이전트 풀 페이지에서 보안을 선택하여 프로젝트에 풀을 만들 수 있는 권한이 있는지 확인합니다. 새 풀을 만들려면 관리자 역할이 있어야 합니다. 다음으로 , 풀 추가 를 선택하고 조직 수준에서 풀을 만드는 옵션을 선택합니다. 마지막으로 해당 에이전트 풀의 일부가 되도록 에이전트를 설치 하고 구성합니다.

  • 인프라 팀의 멤버이며 모든 프로젝트에서 사용할 에이전트 풀을 설정하려고 합니다. 먼저 조직 설정에서 에이전트 풀 페이지로 이동하여 관리자 역할이 있는 모든 에이전트 풀의 그룹 구성원인지 확인합니다. 그런 다음 새 에이전트 풀 을 만들고 풀을 만드는 동안 모든 프로젝트에서 해당 에이전트 풀을 자동으로 프로비전 하는 옵션을 선택합니다. 이 설정은 모든 프로젝트가 이 에이전트 풀에 액세스할 수 있도록 합니다. 마지막으로 해당 에이전트 풀의 일부가 되도록 에이전트를 설치 하고 구성합니다.

  • 에이전트 머신 집합을 여러 프로젝트와 공유하려고 하지만 모든 프로젝트와 공유하지는 않습니다. 먼저 프로젝트 중 하나에 대한 설정으로 이동하여 에이전트 풀을 추가하고 조직 수준에서 풀을 만드는 옵션을 선택합니다. 다음으로, 다른 각 프로젝트로 이동하여 각 프로젝트에 풀을 만들고 조직에서 기존 에이전트 풀을 사용하는 옵션을 선택합니다. 마지막으로, 공유 에이전트 풀의 일부가 되도록 에이전트를 설치 하고 구성합니다.

  • 프로젝트의 구성원이며 빌드 및 배포 작업을 실행하기 위해 팀에서 소유한 컴퓨터 집합을 사용하려고 합니다. 먼저 관리자 역할이 있는 모든 풀의 그룹 구성원인지 확인합니다. 다음으로 프로젝트 설정에서 새 프로젝트 에이전트 풀 을 만들고 새 조직 에이전트 풀을 만드는 옵션을 선택합니다. 따라서 조직 및 프로젝트 수준 에이전트 풀이 모두 만들어집니다. 마지막으로 해당 에이전트 풀의 일부가 되도록 에이전트를 설치 하고 구성합니다.

  • 인프라 팀의 멤버이며 모든 프로젝트에서 사용할 에이전트 풀을 설정하려고 합니다. 먼저 관리자 역할이 있는 모든 풀의 그룹 구성원인지 확인합니다. 그런 다음 관리자 설정에서 새 조직 에이전트 풀 을 만들고 풀을 만드는 동안 모든 프로젝트에서 해당 프로젝트 에이전트 풀을 자동으로 프로비전 하는 옵션을 선택합니다. 이 설정은 모든 프로젝트에 조직 에이전트 풀을 가리키는 풀이 있는지 확인합니다. 시스템은 기존 프로젝트에 대한 풀을 만들고 나중에 새 프로젝트를 만들 때마다 풀을 만듭니다. 마지막으로 에이전트를 설치 하고 해당 에이전트 풀의 일부가 되도록 구성합니다.

  • 에이전트 머신 집합을 여러 프로젝트와 공유하려고 하지만 모든 프로젝트와 공유하지는 않습니다. 먼저 프로젝트 중 하나에서 프로젝트 에이전트 풀을 만들고 해당 풀을 만드는 동안 새 조직 에이전트 풀을 만드는 옵션을 선택합니다. 다음으로, 다른 각 프로젝트로 이동하여 기존 조직 에이전트 풀을 사용하는 옵션을 선택하는 동안 각 프로젝트에 풀을 만듭니다. 마지막으로, 공유 에이전트 풀의 일부가 되도록 에이전트를 설치 하고 구성합니다.

에이전트 풀의 보안

에이전트 풀의 보안 작동 방식을 이해하면 에이전트의 공유 및 사용을 제어하는 데 도움이 됩니다.

역할은 각 에이전트 풀에 정의되며, 이러한 역할의 멤버 자격 은 에이전트 풀에서 수행할 수 있는 작업을 제어합니다.

조직 설정의 에이전트 풀에 대한 역할 목적
읽기 권한자 이 역할의 멤버는 에이전트 풀과 에이전트를 볼 수 있습니다. 일반적으로 에이전트 및 해당 상태를 모니터링하는 연산자를 추가하는 데 사용합니다.
서비스 계정 이 역할의 멤버는 조직 에이전트 풀을 사용하여 프로젝트에 프로젝트 에이전트 풀을 만들 수 있습니다. 새 프로젝트 에이전트 풀을 만들기 위해 위의 지침을 따르는 경우 일반적으로 여기에 멤버를 추가할 필요가 없습니다.
관리자 위의 모든 권한 외에도 이 역할의 멤버는 조직 에이전트 풀에서 에이전트를 등록하거나 등록 취소할 수 있습니다. 프로젝트에서 프로젝트 에이전트 풀을 만들 때 조직 에이전트 풀을 참조할 수도 있습니다. 마지막으로 조직 에이전트 풀의 모든 역할에 대한 멤버 자격을 관리할 수도 있습니다. 조직 에이전트 풀을 만든 사용자는 해당 풀의 관리자 역할에 자동으로 추가됩니다.

에이전트 풀 탭의 모든 에이전트 풀 노드는 모든 조직 에이전트 풀의 보안을 제어하는 데 사용됩니다. 개별 조직 에이전트 풀에 대한 역할 멤버 자격은 '모든 에이전트 풀' 노드에서 자동으로 상속됩니다. TFS 또는 Azure DevOps Server 사용하는 경우 기본적으로 TFS 및 Azure DevOps Server 관리자는 '모든 에이전트 풀' 노드의 관리자이기도 합니다.

역할은 각 프로젝트 에이전트 풀에서도 정의되며, 이러한 역할의 멤버 자격은 프로젝트 수준에서 에이전트 풀에서 수행할 수 있는 작업을 제어합니다.

프로젝트 설정의 에이전트 풀에 대한 역할 목적
읽기 권한자 이 역할의 멤버는 프로젝트 에이전트 풀을 볼 수 있습니다. 일반적으로 이 작업을 사용하여 해당 프로젝트 에이전트 풀에서 빌드 및 배포 작업을 모니터링하는 운영자를 추가합니다.
사용자 이 역할의 멤버는 파이프라인을 작성할 때 프로젝트 에이전트 풀을 사용할 수 있습니다.
관리자 위의 모든 작업 외에도 이 역할의 멤버는 프로젝트 에이전트 풀의 모든 역할에 대한 멤버 자격을 관리할 수 있습니다. 풀을 만든 사용자는 해당 풀에 대한 관리자 역할에 자동으로 추가됩니다.

에이전트 풀 탭의 모든 에이전트 풀 노드는 프로젝트의 모든 프로젝트 에이전트 풀의 보안을 제어하는 데 사용됩니다. 개별 프로젝트 에이전트 풀에 대한 역할 멤버 자격은 '모든 에이전트 풀' 노드의 역할 멤버 자격에서 자동으로 상속됩니다. 기본적으로 ‘모든 에이전트 풀’의 관리자 역할에 빌드 관리자, 릴리스 관리자 및 프로젝트 관리자 그룹이 추가됩니다.

에이전트 풀 탭의 보안 작업은 프로젝트의 모든 프로젝트 에이전트 풀의 보안을 제어하는 데 사용됩니다. 개별 프로젝트 에이전트 풀에 대한 역할 멤버 자격은 여기에서 정의한 내용에서 자동으로 상속됩니다. 기본적으로 ‘모든 에이전트 풀’의 관리자 역할에 빌드 관리자, 릴리스 관리자 및 프로젝트 관리자 그룹이 추가됩니다.

FAQ

유지 관리 기간을 예약하지 않으면 에이전트는 언제 유지 관리를 실행합니까?

예약된 창이 없으면 해당 풀의 에이전트가 유지 관리 작업을 실행하지 않습니다.

유지 관리 작업이란?

오래된 작업 디렉터리와 리포지토리를 정기적으로 정리하도록 에이전트 풀을 구성할 수 있습니다. 이렇게 하면 에이전트의 디스크 공간이 부족할 가능성이 줄어듭니다. 유지 관리 작업은 에이전트 풀 설정의 프로젝트 컬렉션 또는 조직 수준에서 구성됩니다.

유지 관리 작업 설정을 구성하려면 다음을 수행합니다.

  1. Azure DevOps, 조직 설정을 선택합니다.

    Choose Organization settings.

  2. 에이전트 풀을 선택합니다.

    Choose Agent pools tab.

  1. Azure DevOps컬렉션 설정을 선택합니다.

    Choose Collection settings.

  2. 에이전트 풀을 선택합니다.

    Choose Agent pools.

  1. Azure DevOps컬렉션 설정을 선택합니다.

    Collection settings, 2019.

  2. 에이전트 풀을 선택합니다.

    Choose Agent pools, 2019.

  1. 프로젝트로 이동하고 설정(기어 아이콘) >에이전트 큐를 선택합니다.

    Choose Settings, Agent Queues, 2018.

  2. 풀 관리를 선택합니다.

    Choose Manage pools, 2018.

원하는 풀을 선택하고 설정 선택하여 해당 에이전트 풀에 대한 유지 관리 작업 설정을 구성합니다.

중요

유지 관리 작업 설정을 구성하려면 빌드 큐 관리 권한이 있어야 합니다. 설정 탭이나 유지 관리 기록 탭이 표시되지 않으면 기본적으로 관리자 역할에 부여되는 해당 권한이 없습니다. 자세한 내용은 에이전트 풀의 보안을 참조하세요.

Maintenance job settings

Maintenance job settings for TFS

원하는 설정을 구성하고 저장을 선택합니다.

유지 관리 기록을 선택하여 현재 에이전트 풀에 대한 유지 관리 작업 기록을 확인합니다. 로그를 다운로드하고 검토하여 수행된 정리 단계 및 작업을 확인할 수 있습니다.

Maintenance job history

유지 관리는 컴퓨터가 아닌 에이전트 풀별로 수행됩니다. 따라서 단일 컴퓨터에 여러 에이전트 풀이 있는 경우 디스크 공간 문제가 계속 발생할 수 있습니다.

자체 호스팅 에이전트 풀의 유지 관리 작업이 중단된 것 같습니다. 이유가 무엇일까요?

일반적으로 유지 관리 작업은 더 이상 에이전트 풀에 없는 에이전트에서 실행되기를 기다리는 경우 "중단"됩니다. 예를 들어 에이전트가 의도적으로 오프라인으로 전환되었거나 에이전트와 통신하는 데 문제가 있을 때 발생합니다.

실행 대기 중인 유지 관리 작업은 실행될 때까지 7일 동안 대기합니다. 실행하지 않으면 자동으로 취소됩니다. 제한은 시스템에서 하드 코딩되며 변경할 수 없습니다.

7일 제한은 유지 관리 작업 시간 제한 설정과 다릅니다. 후자는 에이전트가 유지 관리를 수행하는 데 소요할 수 있는 최대 시간(분)을 제어합니다. 타이머는 작업이 에이전트에서 큐에 대기할 때가 아니라 작업이 시작될 때 시작됩니다.

기존 조직 에이전트 풀을 사용하는 프로젝트 에이전트 풀을 만들려고 하지만 컨트롤이 회색으로 표시됩니다. 왜?

'프로젝트 에이전트 풀 만들기' 대화 상자에서 다른 프로젝트 에이전트 풀에서 이미 참조한 경우 기존 조직 에이전트 풀을 사용할 수 없습니다. 각 조직 에이전트 풀은 지정된 프로젝트 컬렉션 내의 하나의 프로젝트 에이전트 풀에서만 참조할 수 있습니다.

Microsoft 호스팅 풀을 선택할 수 없으며 빌드를 큐에 대기할 수 없습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

Azure DevOps 조직의 소유자에게 풀 사용 권한을 부여하도록 요청합니다. 에이전트 풀의 보안을 참조하세요.

호스트된 빌드 리소스가 더 필요합니다. 어떻게 해야 하나요?

A: Azure Pipelines 풀은 모든 Azure DevOps 조직에 매달 클라우드 호스팅 빌드 에이전트 및 무료 빌드 시간(분)을 제공합니다. 더 많은 Microsoft 호스팅 빌드 리소스가 필요하거나 병렬로 더 많은 작업을 실행해야 하는 경우 다음 중 하나를 수행할 수 있습니다.