Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yönetilen DevOps Havuzunuzun performansını ve maliyetini yönetmek için ölçeklendirme ayarlarını yapılandırın. Fiyatlandırma ve performans hakkında bilgi için bkz . Maliyet ve performansı yönetme.
Aracı durumu
Yönetilen DevOps Havuzları durum bilgisi olmayan veya durum bilgisi olan olarak yapılandırılabilir.
- Durum bilgisi olmayan havuzlar - Her iş için yeni bir aracı sağlayın.
- Durum bilgisi olan havuzlar - Aracıların birden çok iş arasında paylaşılmasına izin verin.
Yönetilen DevOps havuzu için varsayılan ayar durum bilgisi yoktur (Her seferinde yeni aracı) ancak bazı durumlarda ekipler önceki işlem hattı çalıştırması sırasında oluşturulan paketleri veya dosyaları yeniden kullanmak için aracıları yeniden kullanmak isteyebilir. derleme iş yükü, ekiplerin durumu korumak ve aracıları yeniden kullanmak istediği yaygın bir senaryodur. Yönetilen DevOps Havuzları aracılığıyla durum bilgisi olan havuzlar elde ederken, bunu en iyi güvenlik yöntemleriyle dengeleyebilirsiniz. Varsayılan olarak bir aracı en fazla 7 gün yeniden kullanılabilir ancak daha erken geri dönüştürülecek şekilde yapılandırabilirsiniz.
Not
Durum bilgisi olmayan havuzlar veya her seferinde Yeni aracı ayarı aracı durumu ayarının kullanılması, güvenlik uzmanları tarafından tedarik zinciri saldırılarına karşı bir savunma olarak önerilir.
Durum bilgisi olmayan havuzlar
Durum bilgisi olmayan bir aracı yapılandırıldığında, her iş için yeni bir aracı sağlanır ve iş tamamlandıktan sonra atılır.
Durum bilgisi olmayan aracıların yaşam döngüsü ve Bunların Azure DevOps işlem hatlarında nasıl kullanıldığına ilişkin bir açıklama (ayırmadaki olası gecikmeler dahil) için aşağıdaki Aracıların yaşam döngüsü ve ayırmadaki olası gecikmeler bölümüne bakın.
Aracı durumu her seferinde Yeni aracı olarak ayarlandığında, her iş için yeni bir aracı temin edilir ve iş tamamlandıktan sonra atılır.
Durum bilgisi olan havuzlar
Aynı aracı birden çok derleme"kind": "stateful"
, havuzdaki aracıların durum bilgisi olduğu kabul edilir. Durum bilgisi olan havuzlar aşağıdaki ayarlar kullanılarak yapılandırılır.
Bekleme aracıları
maxAgentLifetime
() için en uzun yaşam süresi, durum bilgisi olan bir havuzdaki bir aracının kapatılıp atılmadan önce çalışabileceği maksimum süreyi yapılandırır. Bekleme aracıları için en uzun yaşam süresi biçimi şeklindedirdd.hh:mm:ss
. Bekleme aracıları için yaşam süresi üst sınırı varsayılan değeri yedi günlük izin verilen en uzun süreye (7.00:00:00
) ayarlanır.Önemli
Bekleme ajanları için azami yaşama süresi dolduğunda bir iş çalışıyorsa, aracı iş tamamlanana kadar kapanmaz, fakat işin çalışması iki günden uzun sürerse kapanabilir. Yönetilen DevOps Havuzlarındaki tek tek işler, bekleme aracıları için yaşam süresi üst sınırı için iki günden fazla yapılandırılmış bir bekleme aracısında çalışıyor olsalar bile en fazla iki gün çalışabilir. İş akışınızın tamamlanması iki günden uzun süren tek bir işin çalıştırılmasını gerektiriyorsa desteğe başvurun.
Yetkisiz Kullanım Süresi (
gracePeriodTimeSpan
), durum bilgisi olan bir havuzdaki bir aracının tüm geçerli ve kuyruğa alınmış işler tamamlandıktan sonra kapanmadan önce yeni işleri bekleme süresini yapılandırır. Yetkisiz Kullanım Süresi biçimidirdd.hh:mm:ss
ve varsayılan değer yetkisiz kullanım süresi değildir.
Durum bilgisi olmayan havuzlardaki aracılar her iş sonrasında kapatılıp atılırken, aşağıdaki koşullardan herhangi biri karşılanırsa durum bilgisi olan havuzlardaki aracılar çalışmaya devam eder.
- İlk iş tamamlandığında kuyruğa alınan başka bir iş varsa, Yönetilen DevOps Havuzları bu işi kapatmak yerine ilk işi çalıştıran aracıya gönderir.
- Havuz için yapılandırılmış bir yetkisiz kullanım süresi varsa, aracılar kapatmadan önce yetkisiz kullanım süresi tarafından belirtilen süre boyunca yeni işleri bekler.
- Bekleme aracıları etkinse ve aracı görüntüsü etkin sağlama dönemi ölçütlerini karşılıyorsa, aracı çalışmaya devam eder ve işleri bekler.
Durum bilgisi olan havuzlarda çalışan aracılar kapatılır ve önceki koşullar doğru olsa bile bekleme aracıları için en uzun süre boyunca belirtilen süre boyunca sürekli olarak çalıştırılırsa atılır. Örneğin, bekleme aracıları için en uzun yaşam süresi üç gün yapılandırılırsa ve Bekleme aracısı modu El ile, Tüm Hafta Düzeni (7/24 kullanılabilir makineler) olarak ayarlanırsa, aracılar üç sürekli çalışma günü sonra yeniden başlatılır.
Önemli
Durum bilgisi olan havuzlardaki aracılar, yetkisiz kullanım süresi yoksa, bekleme aracıları için etkin sağlama süresi yoksa ve aracıyla eşleşen kuyruğa alınmış iş yoksa iş tamamlandıktan sonra da kapatılabilir ve atılabilir. Bir aracı atıldıktan sonra herhangi bir durum kaybolur.
Yetkisiz kullanım süresi, tutarlı yüke sahip işlem hatları için durum bilgisi olan havuzları çalıştırmanın en uygun maliyetli yolunu sağlar ve aracıları çevrimiçi ve işleri kabul etmeye hazır tutmak için bekleme aracısı modunun kullanılmasını gerektirmez.
Bekleme aracısı modu
Havuz oluşturduğunuzda, bekleme aracısı modu varsayılan olarak kapalıdır ve bir aracının isteğe bağlı olarak sağlanması için birkaç dakika (15 dakikaya kadar) beklemesi gerekebilecek işlem hatlarınıza hemen atanacak hazır bekleyen aracı yoktur. Daha iyi performans için Bekleme aracısı modunu etkinleştirin ve iş yükünüz için kapasite sağlayan bir bekleme aracısı zamanlaması yapılandırın.
Hazır bekleyen aracı zamanlaması yapılandırıldığında, Yönetilen DevOps Havuzları sağlanan aracıların sayısını düzenli aralıklarla geçerli sağlama düzeni tarafından belirtilen hazır bekleyen aracı sayısıyla karşılaştırır ve hazır bekleyen aracı sayısını korumak için gereken yeni aracıları başlatır. Aracıları bölmesini kullanarak, havuzunuzdaki aracıların mevcut durumunu ve sayısını görüntüleyebilirsiniz.
Önemli
Bir düzendeki sağlama sayısı, Havuz ayarlarında yapılandırılan en fazla aracı sayısı değerinden büyük olamaz.
Bekleme aracısı modu aşağıdaki ayarlar kullanılarak yapılandırılır:
- Kapalı - Bekleme aracısı modu kapalıdır ve işler kuyruğa alınırken isteğe bağlı olarak aracılar sağlanır.
- El ile - El ile bekleme zamanlamasını yapılandırın.
- Otomatik - Aracı kullanım geçmişine dayalı ve maliyet ve performans için yapılandırılabilir bir otomatik bekleme zamanlaması kullanın.
El ile
El ile mod, CI/CD işlem hattı kullanım düzenleri hakkında bilgi sahibi olan ekipler için en uygun moddur. El ile seçeneğini belirlerseniz, havuzdaki aracıların ne zaman kullanılma olasılığının yüksek olduğunu ve kaç aracı kullanılma olasılığının yüksek olduğunu anlamanıza bağlı olarak ön sağlama düzeninizi tanımlamanız ve öngörülen talebi karşılayan aracıların sağlama sayısını belirtmeniz gerekir.
Kendi sağlama zamanlamanızı oluşturabilir veya önceden tanımlanmış zamanlamalardan birini seçebilir ve zamanlamaları belirtmek için kullanılacak saat dilimini yapılandırabilirsiniz. Ön Sağlama TimeZone için varsayılan değer (UTC) Eşgüdümlü Evrensel Saat'tir.
El ile bekleme aracısı yapılandırması aşağıdaki üç yoldan biriyle yapılandırılabilir.
- Sıfırdan başlama - Hazır bekleyen aracılar için bir dizi sağlama dönemi yapılandırma
- Hafta içi Düzeni (Her hafta içi zaman aralığında kullanılabilen makineler) - Hazır bekleyen aracıların her hafta içi kullanılabilir olması için bir başlangıç ve bitiş saati yapılandırma
- Tüm Hafta Düzeni (7/24 kullanılabilen makineler) - Sabit sayıda hazır bekleyen aracıyı sürekli olarak kullanılabilir olacak şekilde yapılandırın
Ön sağlama hızlı başlangıçlarının her biri, bu hızlı başlangıç için belirli ayarlara ek olarak aşağıdaki ortak ayarlara sahiptir.
- Önceden sağlama TimeZone , ön sağlama düzeninizdeki saatlerin saat dilimini yapılandırmanıza olanak tanır. Ön Sağlama TimeZone için varsayılan değer (UTC) Eşgüdümlü Evrensel Saat'tir.
-
Bekleme aracısı yüzdesi , her görüntü için istediğiniz bekleme aracılarının yüzdesini yapılandırıyor. Tüm görüntülerin eşit olarak sağlandığından emin olmak için girebilir
*
veya yüzdeyi temsil etmek için 0 ile 100 arasındaki bir tamsayı belirtebilirsiniz. Yüzde belirtirseniz, tüm görüntülerin toplamı 100'e eşit olmalıdır. Tek bir görüntü varsa veya 100 değerini belirtin*
. Arm şablonları kullanılırken bekleme aracısı yüzdesi bölümünde yapılandırılırimages
. Daha fazla bilgi için bkz . Görüntüleri yapılandırma.
Sıfırdan başla
Sıfırdan başlamayı seçerseniz, sağlama şemanız olarak görev yapmak için sağlama dönemlerinin listesini ekleyebilirsiniz. Her sağlama dönemi bir başlangıç günü, bitiş günü, saat dilimi, başlangıç saati, bitiş saati ve bir sayıdan oluşur. Sağlama dönemleri birbiriyle örtüşemez.
Özellik | Açıklama |
---|---|
Çok günlü | İşaretlendiğinde, sağlama şemanız için hem Başlangıç Günü hem de Bitiş Günü yapılandırabilirsiniz. |
Sonraki döneme kadar | İşaretlendiğinde, sağlama dönemi Başlangıç Zamanından sonraki sağlama döneminin başlangıcına kadar çalışır. |
Başlangıç Günü | Sağlama döneminin başladığı gün. |
Bitiş Günü | Sağlama döneminin bittiği gün. Çok Gün işaretliyse gereklidir. |
Başlangıç Zamanı | Sağlama döneminin başladığı zaman. |
Bitiş Zamanı | Sağlama döneminin sona ermesi. Sonraki döneme kadar denetlenmediği sürece gereklidir. |
Sayı | Hazır bekleyen aracıların sayısı. Bu sayı sıfırdan büyük olmalı ve Havuz ayarlarında yapılandırılan En fazla aracı değerinden büyük olmamalıdır. |
Sağlama dönemi oluşturduktan sonra, dönemi Ön sağlama düzeni listesinden silebilir veya düzenleyebilirsiniz.
Aşağıdaki örnekte, Pazartesi sabahları 12:00 ile 05:00 EST'de sağlanan 1 aracı ile el ile bir şema yapılandırılır.
Hafta içi düzeni
Hafta içi düzenini seçerseniz, belirtilen sayıda bekleme aracısının haftanın her günü beklemede olacağı bir başlangıç saati ve bitiş saati belirtebilirsiniz.
Özellik | Açıklama |
---|---|
Başlangıç Zamanı | Sağlama döneminin başladığı zaman. |
Bitiş Zamanı | Sağlama döneminin sona ermesi. |
Sağlama Sayısı | Hazır bekleyen aracıların sayısı. Bu sayı sıfırdan büyük olmalı ve Havuz ayarlarında yapılandırılan En fazla aracı değerinden büyük olmamalıdır. |
Aşağıdaki örnek, Doğu Standart Saati kullanılarak çalışma saatleri dışında ve hafta sonları 0 aracıyla çalışma saatlerinde kullanılacak dört aracı yapılandırılır.
Tüm Hafta Düzeni
Tüm hafta düzenini seçerseniz, 7/24 kullanılabilir olmasını istediğiniz bir dizi aracı belirtebilirsiniz.
Otomatik
Kullanım desenlerinizi bilmiyorsanız ve geçmiş verilere göre otomatik tahmine güvenmek istiyorsanız Otomatik'i seçin. Aşağıdaki beş seçenekle bir kaydırıcı kullanarak maliyet ve aracı performansı arasında denge sağlayabilirsiniz. Yönetilen DevOps Havuzları, havuzun kuyruğa alınmış oturumlarını beş dakikalık dönemler halinde düzenleyerek son üç haftalık geçmiş verileriniz (varsa) üzerinde bir sorgu çalıştırır ve belirtilen yüzde birlik değeri (ani artışları önlemek için) her saate atar.
-
En uygun maliyetli (
MostCostEffective
) - 10. yüzdebirlik -
Daha uygun maliyetli (
MoreCostEffective
) - 25. yüzdebirlik -
Dengeli (varsayılan) (
Balanced
) - 50. yüzdebirlik -
Daha fazla performans (
MorePerformance
) - 75. yüzdebirlik -
En iyi performans (
BestPerformance
) - 90. yüzdebirlik
Aracıların yaşam döngüsü ve tahsis sürecindeki olası gecikmeler
Durum Bilgisi Olmayan bir düzen kullanan bekleme aracıları, hazır durumdan ayrılmış duruma geçmeden ve bir işlem hattı çalıştırmadan önce Azure Pipelines aracısının yüklenmesini ve yapılandırılmasını gerektirir. Yönetilen DevOps Havuzları yeni aracılar sağladığında, bunlar hazır duruma geçmeden önce yedek bekleme konumundaki aracılara en son Azure Pipelines aracısını indirtmeye çalışır. Başlatma, bağlantı ve işin başlatılması, havuzun SKU hızına, kullanılan görüntüye ve ağ yüküne bağlı olarak 10 saniyeden bir dakikaya kadar sürebilir. Buna ek olarak, bir işlem hattı işindeki bazı ayarlar, farklı bir aracının yeniden indirilip çalıştırılmasına neden olabilir. Ayrıca, aracın eski sürümlerine dönülmesi veya geri alımlar da aracının yeniden indirilmesine yol açabilir. Hazır aracılar her zaman gecikme potansiyeline sahiptir, çünkü Yönetilen DevOps Havuzları bu aracıyı "kısa ömürlü" bir şekilde kullanır, yani görev aracısını iş başına bir kez başlatıp çalıştırırız.
Azure DevOps'tan işleri alan hazır aracılarda gecikmeler görüyorsanız, aşağıdakileri göz önünde bulundurmanız önemlidir:
- Hazır ajanlarınız var mı? - En yaygın sorun, aracıların ne zaman önceden sağlanması gerektiğinin yanlış anlaşılmasıdır. Kuyruğa alınan iş sayısı bir havuzdaki hazır bekleyen aracı sayısından büyükse veya işler ön hazırlık zamanlaması dışında kuyruğa alınıyorsa ve hazır bekleyen aracı sayısı boş olarak ayarlanmışsa, makinelerin sıfırdan yüklenmesi gerekir.
- Birden çok görüntüyle hazır bekleyen aracıları düzgün yapılandırıyor musunuz? - ImageOverride talebini kullanarak işlem hattınızda hangi görüntünün kullanılacağını belirtmiyorsanız, işler ilk görüntüyü hedefler. Ölçeklendirme ayarlarınıza göre, bazıları başka görüntülere tahsis edildiği için beklediğiniz kadar çok aracıya sahip olmayabilirsiniz.
- İşlem hatlarınızda ImageVersionOverride kullanıyor musunuz? -
ImageVersionOverride
yapılandırılandan farklı bir görüntü sürümü belirttiğinizde, her araç, belirtilen görüntü sürümü kullanılarak isteğe göre başlatılır. Yedek ajanlar, havuzunuzun yapılandırmasında belirtilen görüntü sürümleri kullanılarak sağlanır; bu nedenleImageVersionOverride
kullanırsanız, hiçbir yedek ajan bu sürümle eşleşmez ve yeni bir ajan başlatılır. - Proxy/VNet/Güvenlik Duvarı ayarları havuzunuzu yavaşlatıyor mu? - Herhangi bir ağ ayarındaki olası yavaşlık, aracıyı başlatmanın ve Azure DevOps'a bağlamanın daha uzun sürmesine neden olur.
- Aracı sürümünü geçersiz mi bırakacaksınız? - Varsayılan olarak, Yönetilen DevOps havuzları en son Azure DevOps görev aracısı sürümünde çalışır. İşlem hattı yaml dosyasındaki (örneğin, Agent.Version talebi) ve Azure DevOps kuruluş ayarları, işlem hatlarını görev aracısının eski sürümlerini kullanmaya zorlayabilir, böylece bir makine tahsis edildiğinde yeniden indirme gerekecektir.