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
Bu kılavuz, dotnet komut satırı arabirimini kullanarak projenizi NuGet paketlerini yayımlayacak şekilde yapılandırma konusunda size yol gösterir.
Önkoşullar
| Ürün | Gereksinimleri |
|---|---|
| Azure DevOps | - Azure DevOps kuruluşu. - Azure DevOps projesi. - Azure Artifacts beslemesi. - .NET SDK sürümünü 9.0.200 veya üzerini indirip yükleyin. |
Azure Artifacts Kimlik Bilgisi Sağlayıcısını ayarlama
Akışınızla kimlik doğrulaması yapmak için önce Azure Artifacts Kimlik Bilgisi Sağlayıcısı'nı yüklemeniz gerekir. dotnet ile birlikte gelen araç yükleyicisini kullanarak, aşağıdaki komutu kullanarak kimlik bilgisi sağlayıcısını CLI'dan yükleyebilirsiniz:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool
Depo düzeyi nuget.config yalnızca Azure Artifacts kaynakları kullanacak şekilde yapılandırılmışsa, yükleme komutunu bu dizinin dışından çalıştırın veya nuget.org kaynak olarak açıkça ayarlayın:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json
İsteğe bağlı olarak, aracı ana sürüme sabitleyin (örneğin, yeniden üretilebilirliği önemli olan kapsayıcı görüntülerinde):
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json
İlk kullanım
Kimlik doğrulaması gerektiren bir işlemi ilk kez gerçekleştirdiğinizde aşağıdaki yaklaşımlardan birini kullanın:
- Komutu
--interactiveile çalıştırın; böylecedotnetoturum açmanız için sizi yönlendirebilir. Bu, çoğu yerel geliştirme senaryosu için önerilen yaklaşımdır.
Etkileşimli bir komut çalıştırmadan önce projenizin ayarlandığından ve akışınızın nuget.configeklendiğinden emin olun. Kurulum ayrıntıları için bkz. proje kurulumu.
Projeniz ayarlandıktan ve akışınıza bağlandıktan sonra proje dizininize gidin ve şunu çalıştırın:
dotnet restore --interactive
Bu komut oturum açmanızı sağlar ve bir oturum belirteci edinir. Oturum açma başarılı olduktan sonra, önbelleğe alınan oturum belirteci geçerliliğini koruduğu sürece --interactive olmadan kimliği doğrulanmış komutları çalıştırabilirsiniz. Daha fazla bilgi için bkz. Session belirteci önbellek konumları.
- Docker kapsayıcıları ve özel otomasyon gibi etkileşimli olmayan senaryolar için kimlik bilgilerini environment değişkenleri aracılığıyla sağlayın.
Azure Pipelines için, veya dotnet restore gibi komutları çalıştırmadan önce akışınızda kimlik doğrulaması yapmak için dotnet nuget push görevini kullanın. Daha fazla bilgi için bkz. Restore NuGet packages with Azure Pipelines.
Akış oluşturma
Zaten bir akışınız varsa sonraki adıma devam edin. Aksi takdirde, yeni bir tane oluşturmak için aşağıdaki yönergeleri izleyin:
Azure DevOps'unuzda oturum açın ve projenize gidin.
Artifacts'i ve ardından Feed Oluştur'u seçin.
Akışınız için açıklayıcı bir Ad girin ve Görünürlüğünü (akışınızı kimlerin kullanabileceğini) belirleyin. Akışınızın Kapsamını belirtin ve genel kaynaklardan gelen paketleri dahil etmek istiyorsanız Ortak ortak kaynaklardan paketleri dahil et onay kutusunu işaretleyin.
İşiniz bittiğinde Oluştur'u seçin.
Akışa bağlanma
Akışlarınıza paket yayımlamadan önce Azure Artifacts ile kimlik doğrulaması yapmanız gerekir. Projenizi ayarlamak ve akışınızla kimlik doğrulaması yapmak için aşağıdaki yönergeleri izleyin:
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Nesneler'i seçin ve ardından açılır menüden beslemenizi seçin.
Akışa Bağlan'ı seçin ve ardından soldaki NuGet bölümünden dotnet'i seçin.
csproj veya sln dosyanızla aynı klasörde bir nuget.config dosyası oluşturun. Aşağıdaki XML parçacığını kopyalayın ve yer tutucuları ilgili bilgilerle değiştirerek yeni dosyanıza yapıştırın:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
</packageSources>
</configuration>
Paketleri aynı kuruluştaki bir akışa yayımlama
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:
dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH>
Örnek:
dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg
Not
api-key Parametresi bir Azure Artifacts akışına yayımlanırken gereklidir, ancak değeri olarak herhangi bir dizeyi kullanabilirsiniz.
Paketleri farklı bir kuruluştaki bir akışa yayımlama
NuGet paketlerinizi farklı bir Azure DevOps kuruluşundaki bir akışta yayımlamak için, önce hedef kuruluşta bir kişisel erişim belirteci (PAT) oluşturmanız, yeni paket kaynağını yapılandırma dosyanıza eklemeniz ve ardından yayımla komutunu çalıştırmanız gerekir:
Hedef akışı barındıran kuruluşa gidin ve Paketleme> kapsamıyla kişisel erişim belirteci (PAT) oluşturun.
<PERSONAL_ACCESS_TOKEN> yer tutucusunu kişisel erişim belirtecinizle değiştirin ve ardından paket kaynağınızı nuget.config dosyanıza eklemek için aşağıdaki komutu çalıştırın. Bu dosyanın güvenli bir şekilde depolandığından ve kaynak denetiminde denetlenmediğinden emin olun.
dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>Paketinizi yayımlamak için aşağıdaki komutu çalıştırın:
dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
Örnek:
dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.config
dotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg
Not
Kuruluşunuz bir güvenlik duvarı veya ara sunucu kullanıyorsa Azure Artifacts Etki Alanı URL'lerine ve IP adreslerine izin verildiğinden emin olun.
İlgili içerik
Azure Pipelines (YAML/Classic) ile paketleri yayımlama