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.
Azure İşlevini Çağır / REST API Denetimleri, belirli bir işlem hattı aşamasının korumalı bir kaynağa erişmesine izin verilip verilmediğine karar vermek için kod yazmanızı sağlar. Bu denetimler iki modda çalıştırılabilir:
- Zaman Uyumsuz (Önerilen): Azure DevOps'un Azure İşlevi/REST API uygulamasının aşamalı erişim kararıyla Azure DevOps'a geri çağrılmaya hazır olduğu gönderim modu
- Zaman uyumlu: Azure DevOps'un aşamalı erişim kararı almak için Azure İşlevi/REST API'sini düzenli aralıklarla çağırdığı yoklama modu
Bu kılavuzun geri kalanında Azure İşlevi / REST API Denetimleri'ne yalnızca denetimler olarak başvuracağız.
Denetimleri kullanmanın önerilen yolu eşzamansız modda olmasıdır. Bu mod size denetim mantığı üzerinde en yüksek düzeyde denetim sunar, sistemin hangi durumda olduğunu anlamanızı kolaylaştırır ve Azure Pipelines'ı denetim uygulamanızdan ayrıştırarak en iyi ölçeklenebilirliği sağlar. Tüm zaman uyumlu denetimler zaman uyumsuz denetimler modu kullanılarak uygulanabilir.
Eşzamansız denetimler
Eşzamansız modda, Azure DevOps, Azure Function’a/REST API denetimine bir çağrı gönderir ve kaynak erişim kararıyla bir geri çağrı bekler. Bekleme süresi boyunca Azure DevOps ile denetim uygulamanız arasında açık HTTP bağlantısı yoktur.
Bu bölümün geri kalanında Azure İşlevi denetimleri anlatılır, ancak aksi belirtilmedikçe, bu kılavuz REST API denetimlerini çağırma için de geçerlidir.
Zaman uyumsuz denetimlerin uygulanması önerilir
Önerilen zaman uyumsuz modda iki iletişim adımı vardır:
- Çek yükünü teslim edin. Azure Pipelines, yalnızca çek yükünü teslim etmek ve yerinde bir karar almamak için Azure İşlevinize /REST API'nize bir HTTP çağrısı yapar. İşleviniz yalnızca bilgilerin alındığını doğrulamalı ve ardından Azure DevOps ile olan HTTP bağlantısını sonlandırmalıdır. Denetim uygulamanızın HTTP isteğini 3 saniye içinde işlemesi gerekir.
- Callback ile erişim kararını sağla. Denetiminiz zaman uyumsuz olarak çalışmalı, işlem hattının korumalı kaynağa erişmesi için gerekli koşulu değerlendirmelidir (muhtemelen zaman içinde farklı noktalarda birden çok değerlendirme yapmalıdır). Son bir karara ulaştığında, Azure İşleviniz kararı iletmek için Azure DevOps'a bir HTTP REST çağrısı yapar. Herhangi bir zamanda, Azure DevOps ile denetim uygulamanız arasında tek bir açık HTTP bağlantısı olmalıdır. Bunu yaptığınızda hem Azure İşlevi tarafınızda hem de Azure Pipelines tarafında kaynaklar tasarruf edilir.
Bir denetim başarılı olursa işlem hattının korumalı bir kaynağa erişimine izin verilir ve dağıtım aşaması devam edebilir. Bir denetim başarısız olursa aşama başarısız olur. Tek bir aşamada birden çok denetim varsa, korumalı kaynaklara erişime izin verilmeden önce tümünün geçirilmesi gerekir, ancak aşamayı başarısız yapmak için tek bir hata yeterlidir.
Tek bir Azure İşlevi denetimi için zaman uyumsuz modun önerilen uygulaması aşağıdaki diyagramda gösterilmiştir.
Diyagramdaki adımlar şunlardır:
- Teslimi Denetleyin. Azure Pipelines, işlem hattı aşaması dağıtmaya hazırlanır ve korumalı bir kaynağa erişim gerektirir. İlgili Azure İşlevi denetimini çalıştırır ve HTTP 200 durum koduyla biten çağrının, alındığının onayını bekler. Etap dağıtımı bir karar beklerken durduruldu.
- Değerlendirmeyi kontrol edin. Bu adım, kendi Azure kaynaklarınızda çalışan ve kodu tamamen sizin denetiminizde olan Azure İşlevi uygulamanızın içinde gerçekleşir. Azure İşlevinizin şu adımları izlemesini öneririz:
- 2.1 Zaman uyumsuz bir görev başlatma ve HTTP durum kodunu döndürme
200 - 2.2 Birden çok koşul değerlendirmesi gerçekleştirebileceği bir iç döngü girin
- 2.3 Erişim koşullarını değerlendirme
- 2.4 Son bir karara ulaşamazsa, sonraki bir nokta için koşulların yeniden değerlendirilmesini yeniden zamanlayın, ardından 2.3. adıma gidin
- 2.1 Zaman uyumsuz bir görev başlatma ve HTTP durum kodunu döndürme
- Karar İletişimi. Azure işlevi, erişim kararıyla Azure Pipelines'a geri çağrır. Aşama dağıtımı devam edebilir
Önerilen uygulamayı kullandığınızda işlem hattı çalıştırma ayrıntıları sayfasında en son denetim günlüğü gösterilir.
Zaman uyumsuz denetimler için önerilen yapılandırma
Azure İşlevi / REST API yapılandırmayı denetleme panelinde şunları yaptığınızdan emin olun:
- Tamamlama olayı için Seçili Geri Çağrı
- Değerlendirmeler arasındaki süreyi (dakika) 0 olarak ayarlayın
Değerlendirmeler arasındaki süreyi sıfır olmayan bir değere ayarlamak, denetim kararının (başarılı/başarısız) nihai olmadığı anlamına gelir. Diğer tüm Onaylar ve Denetimler son duruma gelene kadar denetim yeniden değerlendirilir.
İşlem hattı çalıştırma bilgilerini kontrollere iletme
Denetimi yapılandırırken, denetiminize göndermek istediğiniz işlem hattı çalıştırma bilgilerini belirtebilirsiniz. En azından şunları göndermeniz gerekir:
"PlanUrl": "$(system.CollectionUri)""ProjectId": "$(system.TeamProjectId)""HubName": "$(system.HostType)""PlanId": "$(system.PlanId)""JobId": "$(system.JobId)""TaskInstanceId": "$(system.TaskInstanceId)""AuthToken": "$(system.AccessToken)"
Bu anahtar-değer çiftleri, Azure Pipelines tarafından yapılan REST çağrısında varsayılan olarak Headers ayarlanır.
Azure DevOps'a çağrıda bulunmak için, örneğin denetiminiz bir kararla geri aradığında, AuthToken kullanmalısınız.
Azure DevOps'a çağrı
Bir karara varmak için, denetiminizin mevcut işlem hattındaki çalışmaya dair denetime iletilemeyen bilgilere ihtiyacı olabilir, bu nedenle denetimin bu bilgileri alması gerekir. Denetiminiz, bir işlem hattının belirli bir görevi, örneğin bir statik analiz görevini yerine getirdiğini doğruluyor, hayal edin. Denetiminizin Azure DevOps'a bağlantı kurarak zaten yürütülen görevlerin listesini alması gerekir.
Azure DevOps'a çağrı yapmak için, kişisel erişim belirteci (PAT) yerine denetim yürütmesi için verilen iş erişim belirtecini kullanmanızı öneririz. Belirteç, varsayılan olarak AuthToken üst bilgisindeki denetimlerinize zaten sağlanmıştır.
Kişisel Erişim Belirteçleri (PAT'ler) ile karşılaştırıldığında, iş erişim belirteci daha az kısıtlanmaya eğilimlidir, manuel yenileme gerektirmez ve kişisel bir hesaba bağlı değildir. Belirteç 48 saat geçerlidir.
İş erişim belirtecinin kullanılması, Azure DevOps REST API sıkıştırma sorunlarını neredeyse ortadan kaldırır. PAT kullandığınızda, işlem hattınızın tüm çalıştırmaları için aynı PAT'yi kullanırsınız. Çok sayıda işlem hattı çalıştırırsanız PAT kısıtlanır. Bu, her denetim yürütmesi için yeni bir belirteç oluşturulduğundan iş erişim belirteci ile ilgili bir sorun değildir.
Belirteç, fabrikamFiberChat derleme hizmeti (FabrikamFiber) gibi bir işlem hattını çalıştırmak için kullanılan derleme kimliği için verilir. Başka bir deyişle belirteç, konak işlem hattının erişebildiği depolara veya işlem hattı çalıştırmalarına erişmek için kullanılabilir. YAML işlem hatlarındaki depolara erişimi korumayı etkinleştirdiyseniz kapsamı yalnızca işlem hattı çalıştırmasında başvuruda bulunan depolarla daha da kısıtlanır.
Denetiminizin Pipelines ile ilgili olmayan kaynaklara (örneğin, Boards kullanıcı hikayeleri) erişmesi gerekiyorsa, bu tür izinleri Pipelines derleme kimliklerine vermelisiniz. Denetiminiz birden çok projeden tetiklenebiliyorsa, tüm projelerdeki tüm işlem hatlarının gerekli kaynaklara erişebildiğinden emin olun.
Kararı Azure DevOps'a geri gönderme
Denetim uygulamanızın, Azure Pipelines'a geri bir karar iletmek için Olay Sonrası REST API çağrısı kullanması gerekir. Aşağıdaki özellikleri belirttiğinizden emin olun:
-
Headers:Bearer {AuthToken} -
Body:
{
"name": "TaskCompleted",
"taskId": "{TaskInstanceId}",
"jobId": "{JobId}",
"result": "succeeded|failed"
}
Denetimlerden Azure DevOps'a durum güncelleştirmeleri gönderme
Azure Pipelines REST API'lerini kullanarak denetimlerinizin içinden Azure Pipelines kullanıcılarına durum güncelleştirmeleri sağlayabilirsiniz. Bu işlev, örneğin kullanıcılara denetimin bir dış eylem beklediğini bildirmek istiyorsanız (örneğin, birinin ServiceNow biletini onaylaması gerekir) kullanışlıdır.
Durum güncelleştirmelerini gönderme adımları şunlardır:
Tüm REST API çağrılarının kimliğinin doğrulanması gerekir.
Örnekler
Temel Azure İşlevi denetimi
Bu temel örnekte Azure İşlevi, çağırma işlem hattı çalıştırmasının korumalı bir kaynağa erişim izni vermeden önce bir CmdLine görevi yürütdüğünü denetler.
Azure İşlevi aşağıdaki adımları izler:
- Çek yükünün alındını onaylar
- Denetimin başlatıldığını Azure Pipelines'a bir durum güncelleştirmesi gönderir
- Kullanıcı, işlem hattı çalıştırmasının
{AuthToken}girdisini almak için Azure Pipelines'a geri çağırma yapmak amacıyla kullanır. - Zaman Çizelgesi'nin, kimliği
"id": "D9BAFED4-0B18-4F58-968D-86655B4D2CE9"olan bir görevi (görevCmdLine) içerip içermediğini denetler. - Aramanın sonucuyla bir durum güncelleştirmesi gönderir
- Azure Pipelines'a denetim kararı gönderir
Bu örneği GitHub'dan indirebilirsiniz.
Bu Azure İşlevi denetimini kullanmak için denetimi yapılandırırken aşağıdakileri Headers belirtmeniz gerekir:
{
"Content-Type":"application/json",
"PlanUrl": "$(system.CollectionUri)",
"ProjectId": "$(system.TeamProjectId)",
"HubName": "$(system.HostType)",
"PlanId": "$(system.PlanId)",
"JobId": "$(system.JobId)",
"TimelineId": "$(system.TimelineId)",
"TaskInstanceId": "$(system.TaskInstanceId)",
"AuthToken": "$(system.AccessToken)",
"BuildId": "$(build.BuildId)"
}
Gelişmiş Azure İşlevi denetimi
Bu gelişmiş örnekte Azure İşlevi, işlem hattı çalıştırmasını tetikleyen işleme iletisinde başvuruda bulunan Azure Boards iş öğesinin doğru durumda olup olmadığını denetler.
Azure İşlevi aşağıdaki adımları izler:
- Çek yükünün alındını onaylar
- Denetimin başlatıldığını Azure Pipelines'a bir durum güncelleştirmesi gönderir
- Azure Pipelines'da, işlem hattı çalışmasını tetikleyen işleme iletisinde belirtilen Azure Boards iş öğesinin durumunu almak için geri çağırma yapmak amacıyla
{AuthToken}kullanılır. - İş öğesinin
Completeddurumunda olup olmadığını denetler - Denetimin sonucuyla bir durum güncelleştirmesi gönderir
- İş öğesi
Completeddurumunda değilse, 1 dakika içinde yeni bir değerlendirmeyi yeniden zamanlar - İş öğesi doğru duruma geldiğinde Azure Pipelines'a olumlu bir karar gönderir
Bu örneği GitHub'dan indirebilirsiniz.
Bu Azure İşlevi denetimini kullanmak için denetimi yapılandırırken aşağıdakileri Headers belirtmeniz gerekir:
{
"Content-Type":"application/json",
"PlanUrl": "$(system.CollectionUri)",
"ProjectId": "$(system.TeamProjectId)",
"HubName": "$(system.HostType)",
"PlanId": "$(system.PlanId)",
"JobId": "$(system.JobId)",
"TimelineId": "$(system.TimelineId)",
"TaskInstanceId": "$(system.TaskInstanceId)",
"AuthToken": "$(system.AccessToken)",
"BuildId": "$(build.BuildId)"
}
Hata işleme
Şu anda Azure Pipelines tek bir denetim örneğini en fazla 2.000 kez değerlendirir.
Denetiminiz yapılandırılan zaman aşımı içinde Azure Pipelines'a geri çağrılmazsa, ilişkili aşama atlanır. Buna bağlı aşamalar da atlanır.
Zaman uyumlu denetimler
Zaman uyumlu modda Azure DevOps, korumalı bir kaynağa erişime izin verilip verilmeyeceği konusunda anında karar almak için Azure İşlevi /REST API denetimi çağrısı yapar.
Tek bir Azure İşlevi denetimi için eşitleme modunun uygulanması aşağıdaki diyagramda gösterilmiştir.
Adımlar şunlardır:
- Azure Pipelines, işlem hattı aşaması dağıtmaya hazırlanır ve korumalı bir kaynağa erişim gerektirir
- Bir iç döngüye girer ki:
- 2.1. Azure Pipelines ilgili Azure İşlevi denetimini çağırır ve bir karar bekler
- 2.2. Azure İşleviniz erişime izin vermek için gereken koşulları değerlendirir ve bir karar döndürür
- 2.3. Azure İşlevi yanıt gövdesi tanımladığınız Başarı ölçütlerini karşılamıyorsa ve Değerlendirmeler arasındaki süre sıfır değilse, Azure Pipelines değerlendirmeler arasında zaman geçtikten sonra başka bir denetim değerlendirmesini yeniden zamanlar
Zaman uyumlu denetimleri yapılandırma
Azure İşlevi / REST API'sinin zaman uyumlu modunu kullanmak için yapılandırmayı denetleme panelinde şunları yaptığınızdan emin olun:
- Gelişmiş altındaki Tamamlama olayı için ApiResponse seçildi
- Başarı ölçütlerini denetimin yanıt gövdesine göre denetimi geçirme zamanını belirleyecek şekilde belirtmek.
- Denetim seçenekleri altında değerlendirmelerarasındaki süreyi 0 olarak ayarlayın
- Zaman Aşımı'na bir denetimin başarılı olmasını ne kadar süreyle beklemek istediğinizi ayarlayın. Olumlu bir karar yoksa ve Zaman aşımına ulaşılırsa ilgili işlem hattı aşaması atlanır
Değerlendirmeler arasındaki süre ayarı, denetimin kararının ne kadar süre geçerli olduğunu tanımlar. 0 değeri, kararın nihai olduğu anlamına gelir. Sıfır olmayan bir değer, denetimin yapılandırılan aralık sonrasında, kararı negatif olduğunda yeniden deneneceği anlamına gelir. Birden çok Onay ve Denetim çalıştırıldığında, karardan bağımsız olarak denetim yeniden deneniyor.
Değerlendirmelerin maksimum sayısı, Zaman Aşımı ve Değerlendirmeler Arasındaki Zaman değerleri arasındaki orana bağlı olarak tanımlanır. Bu oranın en fazla 10 olduğundan emin olmanız önerilir.
İşlem hattı çalıştırma bilgilerini kontrollere iletme
Denetimi yapılandırırken, Azure İşlevinize /REST API denetiminize göndermek istediğiniz işlem hattı çalıştırma bilgilerini belirtebilirsiniz. Varsayılan olarak, Azure Pipeline yaptığı HTTP çağrısına Headers aşağıdaki bilgileri ekler.
"PlanUrl": "$(system.CollectionUri)""ProjectId": "$(system.TeamProjectId)""HubName": "$(system.HostType)""PlanId": "$(system.PlanId)""JobId": "$(system.JobId)""TaskInstanceId": "$(system.TaskInstanceId)""AuthToken": "$(system.AccessToken)"
Azure DevOps'a senkron modda çağrı yapmanızı önermeyiz, çünkü bu, kontrolün 3 saniyeden uzun sürede yanıt vermesine ve bu nedenle kontrolün başarısız olmasına büyük olasılıkla sebep olacaktır.
Hata işleme
Şu anda Azure Pipelines tek bir denetim örneğini en fazla 2.000 kez değerlendirir.
Zaman uyumsuz ve zaman uyumlu denetimler ne zaman kullanılır?
Bazı örnek kullanım örneklerine ve kullanılması önerilen denetim türüne göz atalım.
Dış bilgiler doğru olmalıdır
Bir üretim kaynağına Hizmet Bağlantınız olduğunu ve yalnızca ServiceNow biletindeki bilgilerin doğru olması durumunda erişime izin verildiğinden emin olmak istediğinizi varsayalım. Bu durumda akış aşağıdaki gibi olacaktır:
- ServiceNow biletinin doğruluğunu doğrulayan zaman uyumsuz bir Azure İşlevi denetimi eklersiniz
- Hizmet Bağlantısı'nı kullanmak isteyen bir işlem hattı çalıştığında:
- Azure Pipelines check işlevinizi çağırır
- Bilgiler yanlışsa, denetim olumsuz bir karar döndürür. Bu sonucu varsay
- İşlem hattı aşaması başarısız oluyor
- ServiceNow biletindeki bilgileri güncelleştirirsiniz
- Başarısız olan aşamayı yeniden başlatabilirsiniz
- Denetim yeniden çalıştırılır ve bu kez başarılı olur
- İşlem hattı çalıştırması devam ediyor
Dış onay verilmelidir
Bir üretim kaynağına Hizmet Bağlantınız olduğunu ve erişime izin verildiğinden emin olmak istediğinizi ancak yönetici bir ServiceNow biletini onayladıktan sonra yapmak istediğinizi varsayalım. Bu durumda akış aşağıdaki gibi olacaktır:
- Azure İşlevi olarak zaman uyumsuz bir denetim ekleyerek ServiceNow biletinin onaylandığını doğrularsınız.
- Hizmet Bağlantısı'nı kullanmak isteyen bir işlem hattı çalıştığında:
- Azure Pipelines, kontrol fonksiyonunuzu çağırır.
- ServiceNow biletinin onaylanmaması durumunda, Azure Function Azure Pipelines'a bir güncelleştirme iletir ve ardından biletin durumunu 15 dakika içinde denetlemek için kendini yeniden programlar.
- Bilet onaylandıktan sonra, denetim olumlu bir kararla Azure Pipelines'a geri döner
- İşlem hattı çalıştırması devam ediyor
Geliştirme süreci izlendi
Üretim kaynağına Hizmet Bağlantınız olduğunu ve yalnızca kod kapsamının %80'in üzerinde olması durumunda erişime izin verildiğinden emin olmak istediğinizi varsayalım. Bu durumda akış aşağıdaki gibi olacaktır:
- İşlem hattınızı, aşama hataları inşa sürecinin başarısız olmasına yol açacak şekilde yazarsınız.
- İlişkili işlem hattı çalıştırması için kod kapsamını doğrulayan zaman uyumsuz bir Azure İşlevi denetimi eklersiniz.
- Hizmet Bağlantısı'nı kullanmak isteyen bir işlem hattı çalıştığında:
- Azure Pipelines check işlevinizi çağırır
- Kod kapsamı koşulu karşılanmazsa, denetim negatif bir karar döndürür. Bu sonucu varsay
- Denetim hatası aşamanızın başarısız olmasına ve dolayısıyla işlem hattı çalıştırmanızın da başarısız olmasına neden olur.
- Mühendislik ekibi% 80 kod kapsamına ulaşmak için gerekli birim testlerini ekler
- Yeni bir işlem hattı çalıştırması tetiklenir ve bu kez denetim başarılı olur.
- İşlem hattı çalıştırması devam ediyor
Performans ölçütleri karşılanmalıdır
Bir kanarya dağıtımıyla başlayarak sisteminizin yeni sürümlerini birden çok adımda dağıttığınızı varsayalım. Kanarya dağıtımınızın performansının yeterli olduğundan emin olmak istiyorsunuz. Bu durumda akış aşağıdaki gibi olacaktır:
- Asenkron bir Azure İşlevi denetimi eklersiniz
- Hizmet Bağlantısı'nı kullanmak isteyen bir işlem hattı çalıştığında:
- Azure Pipelines check işlevinizi çağırır
- Kontrol, kanarya dağıtımının performansını izlemeyi başlatır.
- Denetim, performansın nasıl geliştiğini görmek için birden çok değerlendirme denetim noktası zamanlar
- Kanarya dağıtımının performansına yeterince güvendiğinizde, Azure İşleviniz olumlu bir kararla Azure Pipelines'a geri bildirimde bulunur.
- İşlem hattı çalıştırması devam ediyor
Dağıtım nedeni geçerli olmalıdır
Bir üretim ortamı kaynağına yönelik bir Hizmet Bağlantınız olduğunu ve bu kaynağa erişimin yalnızca elle kuyruğa alınmış derlemeler için sağlanmasını istediğinizi varsayalım. Bu durumda akış aşağıdaki gibi olacaktır:
- Eşzamanlı bir Azure İşlevi denetimi ekleyerek işlem hattı çalıştırmasının
Build.ReasonninManualolduğunu doğrularsınız. - Azure İşlevi denetimini,
Build.Reason'uHeadersiçine geçecek şekilde yapılandırın. - Değerlendirmeler arasındaki süre'yi 0 olarak ayarladınız, bu nedenle başarısızlık veya geçiş sonucu sondur ve yeniden değerlendirme gerekmez.
- Hizmet Bağlantısı'nı kullanmak isteyen bir işlem hattı çalıştığında:
- Azure Pipelines check işlevinizi çağırır
- Nedeni
Manualdeğilse, denetim başarısız olur ve işlem hattı çalıştırması başarısız olur
Uyumluluğu denetle
Azure İşlevi çağırma ve REST API denetimleri artık önerilen kullanım ile eşleşecek kurallara sahiptir. Denetimlerin moda ve yeniden deneme sayısına bağlı olarak bu kurallara uyması gerekir:
Zaman uyumsuz denetimler (Geri arama modu):Azure Pipelines zaman uyumsuz denetimleri yeniden denemez. Değerlendirme sonuçlandığında, asenkron olarak bir sonuç sağlamanız gerekir. Zaman uyumsuz denetimlerin uyumlu olarak kabul edilmesi için değerlendirmeler arasındaki zaman aralığı 0 olmalıdır.
Zaman uyumlu denetimler (ApiResponse modu): Denetiminiz için yeniden deneme sayısı üst sınırı 10'dur. Birçok şekilde ayarlamalar yapabilirsiniz. Örneğin, zaman aşımını 20 ve değerlendirmeler arasındaki zaman aralığını 2 olarak yapılandırabilirsiniz. Alternatif olarak, zaman aşımını 100 olarak ve değerlendirmeler arasındaki zaman aralığını 10 olarak yapılandırabilirsiniz. Ancak zaman aşımını 100 olarak yapılandırıp değerlendirmeler arasındaki zaman aralığını 2 olarak ayarlarsanız, 50 yeniden deneme istediğiniz için denetiminiz uyumlu olmaz. Değerlendirmeler arasındaki zaman aşımının zaman aralığına oranı 10'dan küçük veya buna eşit olmalıdır.
Denetim uyumluluğunun aşama aşama yayılması hakkında daha fazla bilgi edinin.
Birden çok denetim
Azure Pipelines bir işlem hattı çalıştırmasında bir aşamayı dağıtmadan önce, birden çok denetimin geçmesi gerekebilir. Korumalı bir kaynakla ilişkilendirilmiş bir veya daha fazla denetim olabilir. Bir aşama birden çok korumalı kaynak kullanabilir. Azure Pipelines, bir aşamada kullanılan her korumalı kaynakla ilişkili tüm denetimleri toplar ve bunları eşzamanlı olarak değerlendirir.
İşlem hattı çalıştırmasının yalnızca tüm denetimler aynı anda geçtiğinde bir aşamaya dağıtılmasına izin verilir. Tek bir son olumsuz karar, işlem hattının erişiminin reddedilmesine ve aşamanın başarısız olmasına neden olur.
Denetimleri önerilen şekilde kullandığınızda (zaman uyumsuz, son durumlarla), erişim kararlarını kesinleştirir ve sistemin durumunu anlamayı kolaylaştırır.
Örnekler için Birden Çok Onay ve Denetimler bölümüne göz atın.