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 DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Paketi yayınlarken, bu paketin tüm bağımlılıklarının bir üst akış kaynağından tüketilerek akışınızda mevcut olmasını sağlamak çok önemlidir. Üst kaynaktan bir paket tükettiğinizde, akışınıza bir kopya kaydedilir. Bu, yukarı akış kaynağına erişilemez hale gelse bile kopyanızın hem sizin hem de akış tüketicilerinizin kullanımına sunulmaya devam etmesini sağlar.
Yukarı akışlar kullanılabilir paket kümesini nasıl oluşturur?
Azure Artifacts beslemeleri diğer beslemeleri yukarı akış olarak alabileceğinden, yukarı akış kaynaklarının döngülerini oluşturma potansiyeli vardır. Örneğin, akış A, besleme B'e yukarı akış yapar, bu da besleme C'e yukarı akış yapar, ve sonunda besleme C, besleme A'ya tekrar yukarı akış yapar. Böyle bir döngü, düzgün yönetilmezse paket istekleriyle ilgili sorunlara yol açabilir, kullanıcının besleme A'den bir paket istediği, sonra A'ün B'den istek yaptığı, ardından B'nin C'dan istek yaptığı ve son olarak C'in geri dönüp A'ye istek gönderdiği sonsuz bir döngü yaratabilir.
Yukarı akış kaynakları bu tür durumları önlemek için tasarlanmıştır. Akış yukarı akış kaynağından bir paketi sorguladığında, paketleri o yukarı akış kaynağı için yapılandırılmış olan görünümde alır. Bu, şu anlama geliyor: A akışı sorgulandığında, C (A -> B -> C) akışına geçişli bir sorgu tetiklenmez çünkü görünümler salt okuma modundadır. Sonuç olarak, akış A, daha önce bir kullanıcı tarafından B kaydedilmiş C kaynaklı paketlere erişebilir, ancak Ciçindeki tüm paketlere erişemez.
Bu, yerel paketlerinin eksiksiz bir bağımlılık grafiğini temsil etmesini sağlamak için besleme #B ve üzerine sorumluluk getirir. Bunu yaparak, başka bir beslemeden bir yukarı akış kaynağı aracılığıyla B paketini kullanan kullanıcılar, herhangi bir sorun yaşamadan grafiği başarıyla çözebilir ve istedikleri B paketini yükleyebilir.
Örnek: Kullanılabilir paket kümesini oluşturma
Üç akışı ele alalım: Fabrikam, Contoso ve AdventureWorks. Bu çizimde, yukarı akış kaynaklarını tanıtırken Fabrikam akışındaki kullanılabilir paketleri inceleyeceğiz.
Başlangıçta Fabrikam'ın yukarı akış kaynakları yoktur ve Fabrikam'a bağlı kullanıcıların Yalnızca Pencere Öğeleri paketinin 1.0.0 ve 2.0.0 sürümlerini yüklemesine olanak tanır. Benzer şekilde, Contoso'nun yukarı akış kaynakları yoktur ve Contoso'ya bağlı kullanıcılar yalnızca Gizmos paketinin 1.0.0 ve 3.0.0 sürümlerini yükleyecek şekilde kısıtlar. Aynı durum, bağlı kullanıcıların Yalnızca Araçlar paketinin 1.0.0 ve 2.0.0 sürümlerini veya Things paketinin 1.0.0 sürümünü yükleyebildiği AdventureWorks akışı için de geçerlidir.
Şimdi Contoso'nun AdventureWorks'ün yukarı akış kaynağı olarak eklendiği senaryoyu inceleyelim. Bir kullanıcı Contoso'ya bağlandığında, daha geniş bir paket aralığına erişim elde ederler. Herhangi bir Gizmos, Gadget veya Things sürümünü yükleyebilirler. Örneğin, kullanıcı Gadgets@2.0.0'ı yüklerse, bu özel paket sürümü AdventureWorks'e bir bağlantıyla Contoso'ya kaydedilir.
Fabrikam beslemesinin Contoso'yu üst akış kaynağı olarak eklediği bir durumu şimdi ele alalım. Fabrikam'a bağlı bir kullanıcı Widget'ların herhangi bir sürümünü, Gizmos'un herhangi bir sürümünü yükleyebilir, ancak YALNIZCA KAYDEDILEN Araçlar (2.0.0) sürümleri.
Bu paket sürümleri contoso kullanıcısı tarafından Contoso'ya kaydedilmediğinden, kullanıcı Araçlar'ın 1.0.0 sürümünü veya Nesnelerin herhangi bir sürümünü yükleyemeyecektir.