에이전트 풀 만들기 및 관리

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

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

Azure Pipelines에서 풀은 전체 조직으로 범위가 지정됩니다. 프로젝트를 통해 에이전트 머신을 공유할 수 있도록 합니다.

Azure DevOps Server에서 에이전트 풀은 전체 서버로 범위가 지정됩니다. 프로젝트 및 컬렉션 간에 에이전트 머신을 공유할 수 있도록 합니다.

참고 항목

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

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

  1. 조직에 로그인합니다(https://dev.azure.com/{yourorganization}).

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

    조직 설정을 선택합니다.

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

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

  1. 프로젝트 컬렉션(http://your-server/DefaultCollection)에 로그인합니다.

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

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

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

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

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

    컬렉션 설정, 2019.

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

    에이전트 풀, 2019를 선택합니다.

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

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

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

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

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

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

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

기본 에이전트 풀

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

  • 기본 풀: 설정한 자체 호스팅 에이전트를 등록하는 데 사용합니다.
  • 다양한 Windows, Linux 및 macOS 이미지가 있는 Azure Pipelines 호스트 풀 사용 가능한 이미지 및 설치된 소프트웨어의 전체 목록은 Microsoft 호스팅 에이전트를 참조 하세요.

    참고 항목

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

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

파이프라인에서 풀 지정

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. 조직에 로그인합니다(https://dev.azure.com/{yourorganization}).

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

    조직 설정을 선택합니다.

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

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

  1. 프로젝트 컬렉션(http://your-server/DefaultCollection)에 로그인합니다.

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

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

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

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

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

    컬렉션 설정, 2019.

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

    에이전트 풀, 2019를 선택합니다.

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

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

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

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

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

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

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

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

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

에이전트 풀 만들기

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

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

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

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

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

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

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

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

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

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

에이전트 풀의 보안

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

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

조직 수준 보안 설정

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

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

프로젝트 수준 보안 설정

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

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

파이프라인 권한

파이프라인 권한은 에이전트 풀을 사용할 권한이 있는 YAML 파이프라인을 제어합니다. 파이프라인 권한은 클래식 파이프라인의 액세스를 제한하지 않습니다.

다음 옵션 중에서 선택할 수 있습니다.

  • 에이전트 풀의 보안 탭에 있는 파이프라인 권한 섹션의 오른쪽 위 모서리에 있는 추가 옵션에서 에이전트 풀을 사용하려면 모든 파이프라인에 대한 액세스를 엽니다.

  • 에이전트 풀을 잠그고 선택한 YAML 파이프라인만 사용할 수 있도록 허용합니다. 다른 YAML 파이프라인이 에이전트 풀을 참조하는 경우 에이전트 풀 관리자가 승인해야 하는 권한 부여 요청이 발생합니다. 클래식 파이프라인의 액세스는 제한되지 않습니다.

에이전트 풀에 대한 파이프라인 권한 사용자 환경의 스크린샷.

기본적으로 모든 파이프라인에 풀에 액세스할 수 있으므로 Azure Pipelines 에이전트 풀에 대한 파이프라인 권한을 구성할 수 없습니다.

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

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

FAQ

기본 테넌트 창을 예약하지 않으면 에이전트는 언제 기본 실행되나요?

예약된 창이 없으면 해당 풀의 에이전트가 기본 테넌스 작업을 실행하지 않습니다.

기본 테넌스 작업이란?

부실 작업 디렉터리 및 리포지토리를 주기적으로 클린 에이전트 풀을 구성할 수 있습니다. 이렇게 하면 에이전트가 디스크 공간이 부족할 가능성이 줄어듭니다. 유지 관리 작업은 에이전트 풀 설정의 조직 수준에서 구성됩니다.

기본 테넌스 작업 설정을 구성하려면 다음을 수행합니다.

  1. 조직에 로그인합니다(https://dev.azure.com/{yourorganization}).

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

    조직 설정을 선택합니다.

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

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

  1. 프로젝트 컬렉션(http://your-server/DefaultCollection)에 로그인합니다.

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

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

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

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

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

    컬렉션 설정, 2019.

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

    에이전트 풀, 2019를 선택합니다.

원하는 풀을 선택하고 설정 선택하여 해당 에이전트 풀에 대한 기본 테넌트 작업 설정을 구성합니다.

Important

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

유지 관리 작업 설정

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

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

유지 관리 작업 기록

기본 테넌스는 컴퓨터가 아닌 에이전트 풀별로 수행되므로 단일 컴퓨터에 여러 에이전트 풀이 있는 경우에도 디스크 공간 문제가 발생할 수 있습니다.

내 자체 호스팅 에이전트 풀의 유지 관리 작업이 중단된 것 같습니다. 그 이유는

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

실행 대기 중인 유지 관리 작업은 실행되기까지 7일을 기다립니다. 나중에 실행되지 않으면 자동으로 실패 상태로 설정됩니다. 이 시간 제한은 변경할 수 없습니다.

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

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

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

Microsoft에서 호스트된 풀을 선택할 수 없고 내 빌드를 큐에 넣을 수 없습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

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

호스트된 빌드 리소스가 더 필요합니다. 무엇을 도와드릴까요?

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