Yönetilen DevOps Havuzları için talepleri yapılandırma

İşlem hatları, Azure DevOps'un bir aracının hangi özelliklere ihtiyaç duyduğunu belirtmek ve bir pipeline işini aracıya göndermek için gereksinimleri kullanır.

Yönetilen DevOps Havuzlarında, talepler ImageOverride, Azure Pipelines'daki talepler gibi çalışır. İşlem hattı işi, taleple eşleşen öznitelikleri olan belirli bir aracıya yönlendirilir. Aracın üzerindeki öznitelikleri yapılandırmak için WorkFolder ve Priority gibi bazı talepleri kullanabilirsiniz.

Bu makalede Yönetilen DevOps Havuzları'nda sağlanan talepler ve bunların nasıl kullanılacağı açıklanmaktadır.

Çalışma Klasörü

Aracılar için varsayılan çalışma klasörü genellikle Windows aracıları için D:\a\_work (veya havuzun VM boyutu bir C:\a\_work sürücüsü içermiyorsa D) veya Linux aracıları için /mnt/vss/_work'dür ve işlem hattınız Agent.WorkFolderönceden tanımlanmış değişkeni kullanarak buna başvurabilir. Aracı başlattığınızda kullanılan hem sürücü hem de dizin adını değiştirmek için işlem hattınızdaki WorkFolder talebini belirterek bu konumu geçersiz kılabilirsiniz.

Tavsiye

İstem, WorkFolder işlem hattı düzeyinde özelleştirilmiş bir ajan çalışma klasörünü yapılandırır. Aracılarınızı havuzdaki her aracı için özel bir çalışma dizini kullanacak şekilde yapılandırmak için İş klasörü ayarını yapılandırın.

Talebinizle eşleşen, etkin bir aracıya sahip, durum bilgisi taşıyan bir WorkFolder havuzunuz varsa, işlem hattı işiniz bu aracıya gönderilir. Durum bilgisi olan havuzları kullanmıyorsanız veya ile WorkFolderçalışan bir aracı yoksa, yeni bir aracı başlatılır ve belirlenen WorkFolderöğesini kullanacak şekilde yapılandırılır. Belirtilen dizin mevcut değilse oluşturulacaktır. WorkFolder için yol adı geçersizse, varsayılan aracı çalışma klasörü kullanılır.

İşlem hattınızın WorkFolder bölümünde demands gereksinimini yapılandırarak aracının çalışma klasörünü ayarlayın. Bağlı bir veri diski kullanıyorsanız ve aracınızın bu diskte çalışma klasörünüz olmasını istiyorsanız, veri diskinde aracı çalışma dizininiz olarak bir klasör kullanın WorkFolder ve belirtin.

Windows aracıları için varsayılan çalışma klasörü genellikle sürücüsündedir D. Agent.WorkFolder kullanarak işlem hattınızda buna başvurabilirsiniz.

Aşağıdaki örnekte, WorkFolder, harfi olan F olarak ayarlanır.

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

Öncelik

Priority işin önceliğini belirtir. Önce yüksek önceliğe sahip işler yürütülür. Geçerli değerler şunlardır: High, Mediumve Low. Varsayılan değer şudur: Medium.

İşlem hattınızın Priority bölümünde demands talebi yapılandırın.

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

Kuyruktan çalıştırılacak işler, öncelik sırasına göre seçilir. Örneğin, en yüksek aracı ayarına 10 sahip bir havuzunuz var ve bu havuzu kullanmak için bir işlem hattı yapılandırmışsınız. Havuz şu anda 10 işlem hattı çalıştırıyor ve 20'si daha kuyruğa alındı. Bir düzeltme göndermek gibi öncelikli bir işlem hattı çalıştırmak istiyorsanız, normalde 10 çalışan işlem hattı ve kuyruğa alınan 20 işlem hattı bittikten sonra çalışır. Acil işlem hattınızı kuyruğa aldığınızda önceliği High olarak ayarlarsanız, bir aracı temin eder ve daha önce kuyruğa alınmış 20 işlem hattından önce çalışır.

Aynı anda birden fazla iş kuyruğa alınırsa, düşük öncelikli bir iş, daha yüksek öncelikli bir işten önce çalışabilir.

Birden çok işi olan tek bir işlem hattı için:

  • İşlem hattınızın sıralı işleri tanımlayan bağımlılıkları varsa, sıralı işler her işin öncelik ayarından bağımsız olarak işlem hattı tarafından belirtilen sırada çalışır.
  • İşlem hattınızda paralel çalışacak şekilde yapılandırılmış birden çok iş varsa ( YAML işlem hatları için varsayılandır), işler aynı anda kuyruğa alınır. İşlem hattında daha düşük öncelik değerine sahip işler, işlem hattında daha yüksek öncelik değerine sahip işlerden önce çalıştırılabilir.

GörüntüÜstünyazma

Havuzunuzda birden çok görüntü varsa işlem hatlarınızı belirli bir görüntüyü kullanacak şekilde yapılandırabilirsiniz. ImageOverride Talebini kullanın ve görüntünün alias'ını sağlayın. Azure Pipelines görüntüsünü kullanmak için önceden tanımlanmış takma adını kullanın. Diğer tüm görüntüler için kendi diğer adlarınızı yapılandırmanız gerekir.

Havuzunuzda birden çok görüntü varsa ve işlem hatlarınızdaki talepleri kullanarak bir görüntü belirtmezseniz, işlem hatları havuzunuzda listelenen ilk görüntü kullanılarak çalıştırılır. Havuzunuzdaki görüntülerin sırasını, bölümdeki listedeki images görüntülerin fabricProfile sırasını değiştirerek (şablon kullanıyorsanız) değiştirebilirsiniz. Görüntüleri Azure portalındaki görüntüler listesinde sürükleyerek de sıralayabilirsiniz.

Aşağıdaki örnekte, diğer adı ubuntu-24.04-gen2 olan bir görüntüde çalışacak şekilde işlem hattı yapılandırılmıştır.

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

Önemli

Adında boşluklar olsa bile, ImageOverride isteminde diğer ad isminin çevresine tırnak işareti koymayın.

Görüntü Sürümü Geçersiz Kılma

Görüntü yapılandırmanız tarafından belirtilen sürüm yerine görüntünün belirli bir sürümünü kullanmak istiyorsanız, talebi kullanabilirsiniz ImageVersionOverride . Örneğin, yeni bir görüntü sürümünü bir görüntü için en son sürüm olarak yükseltmeden önce doğrulamak için kullanabilirsiniz.

ImageVersionOverride Havuz ayarlarınızda yapılandırılan sürümden farklı bir görüntü sürümü belirttiğinizde, her aracı belirtilen görüntü sürümü kullanılarak gerektiğinde başlatılır. Bekleme aracıları, havuzunuzun yapılandırmasında belirtilen görüntü sürümleri kullanılarak sağlanır. Eğer ImageVersionOverride kullanırsanız, bekleme durumundaki acenteler bu sürümle eşleşmez ve yeni bir acente başlatılır.

İşlem hattınızın ImageVersionOverride bölümünde demands talebi yapılandırın. Aşağıdaki örnek bir ImageVersionOverride öğesini 20250427.1.0belirtir.

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

Tavsiye

Görüntü güncelleştirmesi nedeniyle işlem hattının başarısız olduğunu düşünüyorsanız Sorun Giderme: Görüntü güncelleştirmesi olup olmadığını denetleyin başlığı altındaki yordamı izleyin.

Ekli veri diski

İşlem hattı başına boş bir veri diski eklemek için aşağıdaki talepleri yapılandırın. Bu taleplerle yapılandırılan özellikler hakkında daha fazla bilgi için Depolamayı yapılandırın: Ekli veri diski özellikleri bölümüne bakın.

Talep Description
DiskSizeGiB Required. Boş bir veri diski eklemek için bu talebi ayarlayın.
Caching Önbelleğe alma türü. Seçtiğiniz depolama türü için varsayılan önbelleğe alma türünü kullanmak için bu talebi atlar.
StorageAccountType Varsayılan Standard_LRS depolama türünü kullanmak için bu talebi atla.
DriveLetter (yalnızca Windows) VM boyutunuz için varsayılan sürücü harfini kullanmak için bu talebi atlar. Belirli bir sürücü harfi kullanmak istiyorsanız, bu talebi kullanmak istediğiniz harfe ayarlayın.

Aşağıdaki örnekte Windows işlem hattı, boyutu 128 GB ve sürücü harfi Lolan ekli boş bir veri diski belirtir. Önbelleğe alma türü ve depolama türü atlandığından varsayılan değerler kullanılır.

pool:
  name: fabrikam-managed-pool # Name of pool
  demands:
  - DiskSizeGiB -equals 128
  - DriveLetter -equals L

Özel Yetenekler

Durum bilgisi olan havuzlarınız varsa ve belirli bir çalışan aracı örneğinde bir iş çalıştırmak istiyorsanız, CustomCapabilities talebini kullanabilirsiniz. Talep CustomCapabilities yalnızca durum bilgisi olan havuzlardaki aracılar için geçerlidir. Durumsuz havuzlar kullanırken her iş için yeni bir aracı görüntüsü alırsınız.

İşlem hattınızda bir CustomCapabilities istem belirlediğinizde, aynı isteme sahip herhangi bir işlem hattı daha önce çalıştırıldıysa ve bu işlemi yapan durum bilgisine sahip aracı hâlâ çevrimiçiyse, işlem hattını çalıştırmak için o aracı kullanılır.

Talebe uygun çevrimiçi bir aracı yoksa, havuzdan bir aracı sağlanır. Talep CustomCapabilities olarak etiketlenmiştir ve işlem hattını çalıştırmak için kullanılır.

Aynı CustomCapabilities talebe sahip sonraki işler, aracı çevrimiçi olduğu sürece işlerini çalıştırmak için bu etiketli aracı örneğini kullanır.

Aşağıdaki örnekte durum bilgisi olan bir havuzda Azure Pipelines görüntüsü kullanılarak windows-2022 bir işlem hattı çalıştırılır. Çevrimiçi aracı işleri kabul etmeye hazırsa ve özniteliğiyle CustomCapabilities etiketlenmişse (aracıda daha önce çalıştırılan bir işlem hattı tarafından ayarlanır), bu aracı bu işlem hattını çalıştırmak için kullanılır. Çevrimiçi bir ajan bu taleple eşleşmezse, işi çalıştırmak için bir sonraki uygun ajan kullanılır ve ajana CustomCapabilities özniteliği ile etiketlenir. Gelecekteki işlem hattı, çevrimiçiyse ve işler için hazırsa bu aracıda bu taleple çalışır.

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

Örneğin, kopyalaması uzun süren büyük bir deponuz varsa ve bu depodan çalışan birden çok işlem hattınız varsa, işlem hatlarında aynı CustomCapabilities talebi kullanabilirsiniz. Bu talep, deponun bir kopyasına sahip olan bir aracı kullanarak ikinci işlem hattının daha hızlı çalışmasına yardımcı olur.