다음을 통해 공유


관리형 DevOps 풀에 대한 요구 구성

파이프라인은 요청을 사용하여 에이전트가 에이전트에 파이프라인 작업을 보내기 위해 Azure DevOps에 필요한 기능을 지정합니다.

관리형 DevOps 풀의 ImageOverride 요구 사항은 Azure Pipelines의 요구 사항과 동일하게 작동합니다. 파이프라인 작업은 수요와 일치하는 특성이 있는 특정 에이전트로 라우팅됩니다. 몇 가지 요구 사항(예: WorkFolderPriority및 )을 사용하여 에이전트에서 특성을 구성할 수 있습니다.

이 문서에서는 관리형 DevOps 풀에서 사용할 수 있는 요구 사항 및 사용 방법을 설명합니다.

작업 폴더

에이전트의 기본 작업 폴더는 일반적으로 Windows 에이전트의 경우 D:\a\_work이며, Linux 에이전트의 경우 /mnt/vss/_work입니다. Windows 에이전트의 경우 풀의 VM 크기에 D 드라이브가 없을 경우에는 C:\a\_work을 사용합니다. 파이프라인은 Agent.WorkFolder를 사용하여 이를 참조할 수 있습니다. 파이프라인에서 WorkFolder 요구를 지정하여 에이전트가 시작될 때 사용되는 드라이브와 디렉터리 이름을 모두 변경하도록 이 위치를 덮어쓸 수 있습니다.

팁 (조언)

수요는 WorkFolder 파이프라인 수준에서 사용자 지정 에이전트 작업 폴더를 구성합니다. 풀의 모든 에이전트에 대해 사용자 지정 작업 디렉터리를 사용하도록 에이전트를 구성하려면 클라우드 폴더 설정을 구성합니다.

요구 사항과 일치하는 실행 중인 에이전트 WorkFolder를 포함하는 상태 저장 풀이 있는 경우, 파이프라인 작업이 그 에이전트로 전송됩니다. 상태 저장 풀을 사용하지 않거나 WorkFolder으로 실행되는 에이전트가 없는 경우, 새 에이전트가 시작되어 지정된 WorkFolder을 사용하도록 구성됩니다. 지정한 디렉터리가 없으면 만들어집니다. 경로 이름이 WorkFolder 잘못된 경우 기본 에이전트 작업 폴더가 사용됩니다.

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

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

다음 예제에서, WorkFolder는 문자 를 가진 F로 설정됩니다.

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

우선 순위

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

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

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

우선 순위에 따라 큐에서 실행하도록 작업이 선택됩니다. 예를 들어 최대 에이전트 설정 10 이 있는 풀이 있고 이 풀을 사용하도록 파이프라인을 구성했습니다. 풀은 이미 10개의 파이프라인을 실행하고 있으며, 추가로 20개의 파이프라인이 대기 중입니다. 우선 순위 파이프라인을 실행하려는 경우(예: 핫픽스를 푸시하려면) 일반적으로 실행 중인 파이프라인 10개와 대기 중인 파이프라인 20개 후에 실행됩니다. 긴급 파이프라인을 큐에 대기시킬 때, High에 우선 순위를 설정하면 에이전트를 확보하여 기존에 큐에 있던 20개의 파이프라인보다 먼저 실행됩니다.

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

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

이미지 오버라이드

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

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

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

pool: 
  name: fabrikam-dev-pool # Name of 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 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 pool
  demands:
  - ImageOverride -equals windows-2022
  - CustomCapabilities -equals MyCustomValue

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