Yukarı akış davranışını yapılandırma
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Artifacts yukarı akış kaynaklarıyla geliştiriciler, Yapıt akışlarından ve NuGet.org veya npmjs.com gibi popüler genel kayıt defterlerinden paketleri yayımlamak ve kullanmak için birleşik akış kullanma kolaylığı elde eder. Daha önce Yapıt akışları hem akışın kendisinden hem de yapılandırılmış tüm yukarı akış kaynaklarından kullanılabilir paket sürümlerinin listesini bir araya getiriyor.
Yukarı akış davranışı, geliştiricilerin dış kaynaklı paket sürümlerini kullanmak isteyip istemediklerini seçmelerini sağlayan bir özelliktir. Belirli paketler için genel kayıt defterlerinden erişilebilen paketleri yönetir.
Yukarı akış davranışı etkinleştirildikten sonra, bir paket Azure Artifacts akışınızda yayımlandığında, genel kayıt defterindeki tüm sürümler engellenir ve indirilmeye sunulmaz.
Bu yaklaşım, genel kayıt defterlerine sızmış olabilecek kötü amaçlı paketlerin açığa çıkmasını önleyerek ek bir güvenlik katmanı ekler.
Ancak kullanıcılar yine de yukarı akış davranışı ayarını devre dışı bırakarak tercih ettikleri takdirde genel kayıt defterlerinden gelen paketleri kullanmalarına izin verebilir.
Not
Yeni davranış, akışın @local görünümünde korunduğu için şu anda kullanımda olan paket sürümlerini etkilemez.
Uygulanabilir senaryolar
Aşağıdaki bölümde, dış kaynaklı paket sürümlerini engellemek için yukarı akış davranışının tetiklendiği çeşitli yaygın senaryolar ve genel paketlere erişimi engellemeye gerek olmayan diğer senaryolar gösterilmektedir.
Genel sürümler engellendi
Genel kullanıma açık özel paket sürümü
Bu senaryoda, bir ekibin genel kullanıma açık özel bir paketi vardır. Bu durumda yukarı akış davranışı, yeni genel sürümleri (güvenilmeyen paketler) engellemek için tetiklenir.
Hem özel hem de genel paketlere sahip olma
Bu senaryoda, bir ekip özel ve genel paketlerin birleşimini kullanıyorsa, yukarı akış davranışının etkinleştirilmesi genel kayıt defterinden yeni paket sürümlerini engeller.
Genel sürümler engellenmez
Tüm paketler özeldir*
Mevcut tüm paketler özelse ve ekibin genel paketleri kullanma planı yoksa, yeni yukarı akış davranışının bu senaryoda ekibin iş akışı üzerinde hiçbir etkisi olmaz.
Tüm paketler geneldir
Bu senaryoda, ister genel kayıt defterinden ister diğer açık kaynak depolarından olsun, ekip yalnızca genel paketleri kullanıyorsa, yeni yukarı akış davranışı iş akışlarını hiçbir şekilde etkilemez.
Özel yapılan genel paket
Bu durumda, genel paket özel pakete dönüştürüldüğünde, yeni yukarı akış davranışı ekibin iş akışını hiçbir şekilde etkilemez.
Dış sürümlere izin ver
Not
Dış kaynaklı sürümlere izin vermek için Akış Sahibi olmanız gerekir. Daha fazla bilgi için bkz . Akış izinleri.
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Yapıtlar'ı seçin ve ardından açılan menüden akışınızı seçin.
Paketinizi seçin ve ardından diğer seçenekler için üç nokta düğmesini seçin. Dış kaynaklı sürümlere izin ver'i seçin.
Dış sürümlere izin vermek için iki durumlu düğmeyi seçin. İşiniz bittiğinde Kapat'ı seçin.
REST API kullanarak dış sürümlere izin ver
PowerShell kullanarak dış sürümlere izin ver
Paketleme>Okuma, yazma ve yönetme izinleriyle kişisel erişim belirtecioluşturun.
Kişisel erişim belirteciniz için bir ortam değişkeni oluşturun.
$env:PATVAR = "YOUR_PERSONAL_ACCESS_TOKEN"
Kişisel erişim belirtecinizi baser64 ile kodlanmış dizeye dönüştürün ve HTTP isteği üst bilgisini oluşturun.
$token = [Convert]::ToBase64String(([Text.Encoding]::ASCII.GetBytes("username:$env:PatVar"))) $headers = @{ Authorization = "Basic $token" }
Uç nokta URL'nizi oluşturma. Örnek: //pkgs.dev.azure.com/MyOrg/MyProject/_apis/packaging/feeds/MyFeed/nuget/packages/pkg1.0.0.nupkg/upstreaming?api-version=6.1-preview.1
Proje kapsamlı akış:
$url = "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_apis/packaging/feeds/<FEED_NAME>/<PROTOCOL>/packages/<PACKAGE_NAME>/upstreaming?api-version=6.1-preview.1"
Kuruluş kapsamlı akış:
$url = "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_apis/packaging/feeds/<FEED_NAME>/<PROTOCOL>/packages/<PACKAGE_NAME>/upstreaming?api-version=6.1-preview.1"
Paketinizin yukarı akış davranış durumunu almak için aşağıdaki komutu çalıştırın. $url
ve $headers
önceki bölümde kullandığımız değişkenlerle aynıdır.
Invoke-RestMethod -Uri $url -Headers $headers
İlgili makaleler
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin