다음을 통해 공유


요청

요구 사항은 파이프라인에서 Azure DevOps가 작업을 에이전트로 전송할 수 있도록 에이전트에 필수적인 기능을 지정하는 방법을 제공합니다. 관리되는 DevOps 풀에서 ImageOverride와 같은 요구는 Azure Pipelines의 요구와 마찬가지로 작동합니다. 여기서 파이프라인 작업은 수요와 일치하는 특성이 있는 특정 에이전트로 라우팅되지만 WorkFolder 및 Priority같은 일부 요구 사항은 에이전트에서 특성을 구성하는 데 사용할 수 있습니다. 이 문서에서는 관리형 DevOps 풀에서 사용할 수 있는 요구 사항 및 사용 방법을 설명합니다.

작업 폴더

에이전트의 기본 작업 폴더는 일반적으로 Windows용 D:\ 드라이브 또는 Linux용 /mnt에 있으며 미리 정의된 변수를 사용하여 Agent.WorkFolder파이프라인에서 참조할 수 있습니다. 파이프라인에서 WorkFolder 요구 사항을 지정하여 에이전트를 시작할 때 사용되는 드라이브와 디렉터리 이름을 모두 변경하기 위해 이 위치를 재정의할 수 있습니다. 상태 저장 풀 내에서 요구와 일치하는 실행 중인 에이전트 WorkFolder가 있는 경우, 파이프라인은 해당 에이전트로 전송됩니다. 상태 저장 풀을 사용하지 않거나 이 풀로 WorkFolder실행되는 에이전트가 없는 경우, 새 에이전트가 시작되어 지정된 WorkFolder을 사용하도록 구성됩니다. 지정한 디렉터리가 없으면 만들어집니다. 경로 이름이 WorkFolder 잘못된 경우 기본 에이전트 작업 폴더가 사용됩니다.

파이프라인의 WorkFolder 섹션에서 에이전트 작업 폴더를 설정하기 위해 demands 요구 사항을 구성합니다. 연결된 데이터 디스크를 사용하고 해당 디스크 의 에이전트 작업 폴더를 원하는 경우 데이터 디스크의 폴더를 에이전트 작업 디렉터리로 사용하고 WorkFolder지정합니다.

Windows 에이전트의 기본 작업 폴더는 일반적으로 D:\ 드라이브에 있으며 Agent.WorkFolder를 사용하여 파이프라인에서 참조할 수 있습니다.

다음 예에서 WorkFolder 문자가 할당된 F로 설정됩니다.

pool: 
  name: fabrikam-managed-pool # Name of Managed DevOps Pool
  demands:
  - WorkFolder -equals f:\custom-work-folder

우선 순위

Priority 는 작업의 우선 순위를 지정합니다. 우선 순위가 높은 작업이 먼저 실행됩니다. 유효한 값은 다음과 HighMedium같습니다. Low 기본값은 Medium입니다.

Priority의 수요를 demands 파이프라인의 섹션에서 구성합니다.

pool: 
  name: fabrikam-dev-pool # Name of Managed DevOps Pool
  demands:
  - Priority -equals Low

우선 순위에 따라 큐에서 실행하도록 작업이 선택됩니다. 예를 들어 최대 에이전트 설정이 10인 풀과 이 풀을 사용하도록 구성된 파이프라인이 있습니다. 풀은 이미 10개의 파이프라인을 실행하고 있으며 20개 더 대기 중입니다. 실행해야 할 우선 순위 파이프라인이 있는 경우(예: 핫 픽스를 푸시하는 경우) 일반적으로 실행 중인 파이프라인 10개와 큐에 대기 중인 파이프라인 20개 후에 실행됩니다. 핫픽스 파이프라인을 큐에 대기할 때 우선 순위를 높음으로 설정하면 에이전트를 가져오고 이전에 큐에 대기한 20개 파이프라인 전에 실행됩니다.

여러 작업이 동시에 큐에 대기하는 경우 우선 순위가 높은 작업보다 우선 순위가 낮은 작업이 실행될 수 있습니다.

여러 작업이 있는 단일 파이프라인의 경우:

이미지 오버라이드

풀에 여러 개의 이미지가 있는 경우, ImageOverride을 사용하고 사용할 이미지의 별칭을 제공하여 특정 이미지를 사용하도록 파이프라인을 설정할 수 있습니다. Azure Pipelines 이미지를 사용하는 경우 미리 정의된 별칭을 사용할 수 있습니다. 다른 모든 이미지의 경우 고유한 별칭을 구성해야 합니다.

중요함

풀에 여러 이미지가 있고 파이프라인의 요구를 사용하여 이미지를 지정하지 않는 경우 파이프라인은 풀에 나열된 첫 번째 이미지를 사용하여 실행됩니다. 이미지 순서를 변경하려면 images 섹션의 fabricProfile 목록에서 이미지 순서를 변경하거나, 템플릿을 사용할 경우에는 Azure 포털에서 드래그 앤 드롭 기능을 사용하여 이미지 목록의 이미지를 정렬하여 풀의 이미지 순서를 변경할 수 있습니다.

다음 예제에서는 별칭으로 구성된 이미지를 사용하여 파이프라인을 실행하도록 설정됩니다.

pool: 
  name: fabrikam-dev-pool # Name of Managed DevOps Pool
  demands:
  - ImageOverride -equals ubuntu-24.04-gen2

중요함

이름에 공백이 있더라도 ImageOverride 요청에서 별칭 이름 주위에 따옴표를 지정하지 마세요.

이미지버전초과

이미지 구성에서 지정한 버전 대신 특정 버전의 이미지를 사용하려는 경우 수요를 사용할 ImageVersionOverride 수 있습니다. 예를 들어, 새 이미지 버전의 유효성을 검사하여 해당 이미지를 최신 버전으로 승격하는 데 사용할 수 있습니다.

중요함

ImageVersionOverride에 구성된 것과 다른 이미지 버전을 지정하는 데 사용하는 경우 지정된 이미지 버전을 사용하여 요청 시 각 에이전트가 시작됩니다.

대기 에이전트풀의 구성에 지정된 이미지 버전을 사용하여 프로비전되므로 사용하는 ImageVersionOverride경우 대기 에이전트가 해당 버전과 일치하지 않으며 새 에이전트가 시작됩니다.

ImageVersionOverride의 수요를 demands 파이프라인의 섹션에서 구성합니다. 다음 예제에서는 ImageVersionOverride을/를 20250427.1.0으로 지정합니다.

pool: 
  name: fabrikam-dev-pool # Name of Managed DevOps Pool
  demands:
  - ImageVersionOverride -equals 20250427.1.0

팁 (조언)

이미지 업데이트로 인해 파이프라인이 실패했다고 생각되는 경우 문제 해결의 절차에 따라 이미지 업데이트가 있는지 확인합니다.

사용자 정의 기능

상태 저장 풀이 있고 특정 실행 중인 에이전트 인스턴스에서 작업을 실행하려는 경우, CustomCapabilities 요구 조건을 사용할 수 있습니다.

중요함

요청은 CustomCapabilities 상태 저장 풀의 에이전트에만 적용됩니다. 비상태 풀을 사용하는 경우, 모든 작업에 대해 새 에이전트 이미지를 얻게 됩니다.

파이프라인에서 CustomCapabilities 수요를 지정할 때, 동일한 수요가 있는 파이프라인이 이전에 실행되었고 그 파이프라인을 실행한 상태 저장 에이전트가 여전히 온라인 상태라면, 해당 에이전트를 사용하여 파이프라인이 실행됩니다. 요구사항과 일치하는 CustomCapabilities 온라인 에이전트가 없으면 풀에서 에이전트가 할당되고, 요구사항으로 CustomCapabilities 태그가 붙고, 파이프라인 실행에 사용됩니다. 요청이 동일한 CustomCapabilities 후속 작업은 해당 에이전트가 온라인인 한 해당 태그가 지정된 에이전트 인스턴스를 사용하여 해당 작업을 실행합니다.

다음 예제에서는 상태 저장 풀의 windows-2022 Azure Pipelines 이미지를 사용하여 파이프라인을 실행합니다. 온라인 에이전트가 작업을 수락할 준비가 되었으며 특성(이전에 에이전트에서 실행한 파이프라인에 의해 설정됨)으로 CustomCapabilities 태그가 지정된 경우 해당 에이전트는 이 파이프라인을 실행하는 데 사용됩니다. 이 수요와 일치하는 온라인 에이전트가 없으면, 다음 사용 가능한 에이전트가 작업을 실행하며, 에이전트는 CustomCapabilities 특성으로 태그가 지정됩니다. 이 요구가 있는 향후 파이프라인 실행은 온라인이고 작업에 대한 준비가 된 경우 이 에이전트에서 실행됩니다.

pool: 
  name: fabrikam-dev-pool # Name of Managed DevOps Pool
  demands:
  - ImageOverride -equals windows-2022
  - CustomCapabilities -equals MyCustomValue

예를 들어 복제하는 데 시간이 오래 걸리는 큰 리포지토리가 있고 이 리포지토리에서 실행되는 여러 파이프라인이 있습니다. 파이프라인에서 동일한 CustomCapabilities 수요를 사용하면 이미 복제된 리포지토리가 있는 에이전트를 사용하여 두 번째 파이프라인을 더 빠르게 실행하는 데 도움이 될 수 있습니다.

참고 사항