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 Hizmetleri | Azure DevOps Server | Azure DevOps Server 2022
Bu makale, iki kimlik doğrulama akışı kullanarak akışınıza bağlanma ve paketleri yayımlama konusunda size yol gösterir: kendi kuruluşunuzdaki akışlar için Azure Artifacts Kimlik Bilgisi Sağlayıcısı ve farklı bir kuruluşta barındırılan akışlar için kişisel erişim belirteci (PAT).
Önkoşullar
- Azure DevOps kuruluşu.
- bir Azure DevOps projesi.
- bir Azure Artifacts beslemesi.
-
nuget.exe sürümü
4.8.0.5385veya üzeri. Azure Artifacts en iyi uyumluluk ve güvenilirlik için NuGet5.5.xveya üzerini önerir. - Paketleri yayımlamak için Akış Yayımcısı (Katkıda Bulunan) veya daha üstü olmanız gerekir.
Azure Artifacts Kimlik Bilgisi Sağlayıcısını ayarlama
Azure Artifacts Kimlik Bilgisi Sağlayıcısı, Azure Artifacts akışlarınızda güvenli kimlik doğrulaması sağlar. nuget.exeile kullanmak için önce NuGet'in eklenti arama yoluna eklemeniz gerekir. Ayrıntılar için bkz. Eklenti Yükleme ve bulma. Eklenti eklendikten sonra işletim sisteminiz için yükleme adımlarını izleyin:
Azure Artifacts Kimlik Bilgisi Sağlayıcısı'nı yüklemek için aşağıdaki yöntemlerden birini kullanın:
El ile yükleme
En son Microsoft.NetFx48.NuGet.CredentialProvider.zip sürümünü indirin.
Zip dosyasını ayıklayın.
Çıkarılan arşivdeki
netfxklasörünü%UserProfile%/.nuget/plugins/konumuna kopyalayın. klasörnetfx, nuget.exe uyumluluk için gereklidir.
Yardımcı betiği kullanarak yükleyin
Alternatif olarak, kolaylaştırılmış bir yükleme için otomatik yardımcı betiği kullanabilirsiniz. PowerShell 5.1 veya sonraki bir sürümüne sahip olduğunuzdan emin olun ve şunu çalıştırın:
iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
Daha fazla bilgi için Azure Artifacts Kimlik Bilgisi Sağlayıcısı deposuna bakın.
Akışa bağlanma
Paketlerinizi yayımlamadan önce projenizi ayarlayın ve akışınıza aşağıdaki gibi bağlanın:
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Artifacts'i seçin ve ardından açılır menüden beslemenizi seçin.
Select Bağlanbeslemeye, ardından sol gezinme bölmesinden NuGet.exe öğesini seçin.
.csprojveyanuget.configdosyanızla aynı klasöre, projenize bir.slndosyası ekleyin. Sağlanan XML parçacığını dosyanıza yapıştırın. Kod parçacığı aşağıdaki gibi görünmelidir:Kuruluş genelinde akış:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>Proje kapsamına sahip akış :
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Azure DevOps sunucunuzda oturum açın ve projenize gidin.
Yapıtlar'ı seçin ve ardından akışınızı seçin.
Akışa Bağlanseçeneğini belirleyin ve ardından sol gezinti bölmesinden NuGet.exe seçin.
Projenize,
.csprojveyanuget.configdosyanızla aynı klasörde bir.slndosyası ekleyin ve ardından sağlanan XML kod parçacığını dosyanıza yapıştırın.
Aynı kuruluştaki bir akışa yayımlama
Azure Artifacts Kimlik Bilgisi Sağlayıcısı'nı kullanarak yapılandırıp nuget.config kimlik doğrulaması yaptıktan sonra, akışınızda bir paket yayımlamak için aşağıdaki komutu çalıştırın. Yer tutucuları uygun değerlerle değiştirin:
nuget push <PACKAGE_PATH> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -ApiKey <ANY_STRING>
Örnek:
nuget push MyPackage.5.0.2.nupkg -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ
Not
Azure Artifacts Kimlik Bilgisi Sağlayıcısı gönderme için gerçek kimlik doğrulamasını işler, ancak NuGet yine de komutu kabul etmek için bir -ApiKey değer gerektirir. Azure Artifacts sağladığınız değeri yoksayar, böylece tüm boş dizeler çalışır.
Başka bir kuruluştaki bir akışta yayımlama
Hedef akış farklı bir Azure DevOps kuruluşundaysa, bu kuruluşta bir PAT oluşturun ve akışı dosyanıza nuget.config kaynak olarak ekleyin.
Paketleme>Okuma ve yazma kapsamıyla hedef kuruluşta kişisel erişim belirteci (PAT) oluşturun.
Akışı kaynak olarak eklemek için aşağıdaki komutu çalıştırın. Bu komut PAT’nizi
nuget.configöğesine ekler; bu nedenle dosyayı güvenli bir şekilde saklayın ve kaynak denetimine eklemeyin.nuget sources Add -Name <SOURCE_NAME> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -UserName <USER_NAME> -Password <PERSONAL_ACCESS_TOKEN> -config <PATH_TO_NUGET_CONFIG_FILE>Yeni eklediğiniz kaynak adını kullanarak paketi yayımlayın.
nuget push <PACKAGE_PATH> -Source <SOURCE_NAME> -ApiKey <ANY_STRING>
Örnek:
nuget sources Add -Name "MySource" -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -UserName MyUserName -Password YourPersonalAccessToken -config ./nuget.config
nuget push nupkgs/mypackage.1.1.8.nupkg -Source MySource -ApiKey AZ
Not
Kuruluşunuz bir güvenlik duvarı veya ara sunucu kullanıyorsa, Azure Artifacts etki alanı URL’lerine ve IP adreslerine izin verin.
Troubleshooting
Kimlik doğrulama istemi görünmüyor
Azure Artifacts Kimlik Bilgisi Sağlayıcısı'nın yüklü olduğundan ve NuGet veya sonraki bir sürümünü 4.8.0.5385 kullandığınızdan emin olun. Kurulum adımları için bkz. NuGet.exe ile Azure Artifacts akışlarına bağlanma.
Sürüm zaten mevcut olduğundan yayımlama başarısız oluyor
Azure Artifacts paket sürümleri sabittir. Bir sürümü yayımladıktan sonra, paketi silseniz bile sürümün üzerine yazamaz veya aynı sürüm numarasını yeniden kullanamazsınız. Paket sürümünü güncelleştirin, paketi yeniden derleyin ve sonra yeniden yayımlayın.
Yayımlama, güvenlik duvarı ya da ara sunucu arkasında başarısız olur
Azure Artifacts Etki Alanı URL'lerine ve IP adreslerine izin verin ve yayımlama işlemini yeniden deneyin.
Yayımlama işlemi 403 hatasıyla başarısız oluyor
Bu hata genellikle hesabınızın akış üzerinde yayımlama izinlerine sahip olmadığı anlamına gelir. Paketleri gönderebilmek için en az Feed Publisher (Contributor) rolüne sahip olmanız gerekir. Akış sahibinden rolünüzü güncellemesini isteyin ve ardından yeniden deneyin.
İlgili içerik
Azure Pipelines (YAML/Classic) ile paketleri yayımlama