Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
služby Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Tento článek vás provede tím, jak se připojit ke svému zdroji a publikovat balíčky pomocí dvou způsobů ověřování: Azure Artifacts Credential Provider pro zdroje ve vlastní organizaci a tokenu osobního přístupu (PAT) pro zdroje hostované v jiné organizaci.
Požadavky
- Organizace Azure DevOps.
- Projekt Azure DevOps.
- Kanál feed služby Azure Artifacts.
-
nuget.exe verze
4.8.0.5385nebo novější. Azure Artifacts doporučuje NuGet5.5.xnebo novější pro zajištění nejlepší kompatibility a spolehlivosti. - Chcete-li publikovat balíčky, musíte být Vydavatel kanálu (Přispěvatel) nebo mít vyšší oprávnění.
Nastavení zprostředkovatele přihlašovacích údajů Azure Artifacts
Poskytovatel přihlašovacích údajů Azure Artifacts umožňuje zabezpečené ověřování pro přístup ke kanálům Azure Artifacts. Pokud ho chcete použít s nuget.exe, musíte ho nejdřív přidat do cesty hledání modulu plug-in NuGet. Podrobnosti najdete v tématu Instalace a zjišťování modulu plug-in. Po přidání modulu plug-in postupujte podle pokynů pro instalaci operačního systému:
Pomocí jedné z následujících metod nainstalujte Azure Artifacts zprostředkovatele přihlašovacích údajů:
Ruční instalace
Stáhněte si nejnovější verzi Microsoft.NetFx48.NuGet.CredentialProvider.zip.
Extrahujte soubor ZIP.
Zkopírujte složku
netfxz rozbaleného archivu do%UserProfile%/.nuget/plugins/. Složkanetfxse vyžaduje pro kompatibilitu nuget.exe.
Instalace pomocí pomocného skriptu
Případně můžete použít automatizovaný pomocný skript pro zjednodušenou instalaci. Ujistěte se, že máte PowerShell 5.1 nebo novější, a pak spusťte:
iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
Další informace najdete v repozitáři Azure Artifacts Credential Provider.
Připojení ke kanálu
Před publikováním balíčků nastavte projekt a připojte se k informačnímu kanálu následujícím způsobem:
Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.
Vyberte Artefaktya poté v rozevírací nabídce vyberte svůj kanál.
Vyberte Připojit k informačnímu kanálua pak v levém navigačním podokně vyberte NuGet.exe.
Přidejte do projektu soubor
nuget.configdo stejné složky jako soubor.csprojnebo soubor.sln. Vložte zadaný fragment kódu XML do souboru. Fragment kódu by měl vypadat takto:Informační kanálv rámci organizace:
<?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>informačního kanálu v rozsahu projektu:
<?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>
Přihlaste se k serveru Azure DevOps a přejděte k projektu.
Vyberte Artefaktya pak vyberte svůj informační kanál.
Vyberte Připojit k informačnímu kanálua pak v levém navigačním podokně vyberte NuGet.exe.
nuget.configPřidejte do projektu soubor ve stejné složce jako soubor.csproja.slnvložte do souboru zadaný fragment KÓDU XML.
Publikovat do kanálu ve stejné organizaci
Po konfiguraci nuget.config a ověření pomocí zprostředkovatele přihlašovacích údajů Azure Artifacts spusťte následující příkaz a publikujte balíček do svého kanálu. Zástupné symboly nahraďte příslušnými hodnotami:
nuget push <PACKAGE_PATH> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -ApiKey <ANY_STRING>
Příklad:
nuget push MyPackage.5.0.2.nupkg -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ
Poznámka
Zprostředkovatel přihlašovacích údajů Azure Artifacts zajišťuje vlastní ověřování při odesílání, ale NuGet stále vyžaduje hodnotu -ApiKey, aby příkaz přijal. Azure Artifacts hodnotu, kterou zadáte, ignoruje, takže všechny neprázdné řetězce fungují.
Publikování do informačního kanálu v jiné organizaci
Pokud je cílový kanál v jiné organizaci Azure DevOps, vytvořte v této organizaci PAT a přidejte kanál jako zdroj v souboru nuget.config.
Vytvořte v cílové organizaci token osobního přístupu (PAT) s rozsahem Packaging>.
Spuštěním následujícího příkazu přidejte informační kanál jako zdroj. Tento příkaz přidá váš PAT do
nuget.config, proto jej bezpečně uložte a nezařazujte jej do správy verzí.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>Publikujte balíček pomocí názvu zdroje, který jste právě přidali.
nuget push <PACKAGE_PATH> -Source <SOURCE_NAME> -ApiKey <ANY_STRING>
Příklad:
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
Poznámka
Pokud vaše organizace používá bránu firewall nebo proxy server, povolte adresy URL domén a IP adresy pro Azure Artifacts.
Troubleshooting
Výzva k ověření se nezobrazuje
Ujistěte se, že máte nainstalovaný poskytovatel přihlašovacích údajů Azure Artifacts a že používáte NuGet verze 4.8.0.5385 nebo novější. Postup nastavení najdete v tématu Připojení k informačním kanálům Azure Artifacts pomocí NuGet.exe.
Publikování selže, protože verze již existuje.
Verze balíčků v Azure Artifacts jsou neměnné. Po publikování verze ji nemůžete přepsat ani znovu použít stejné číslo verze, i když balíček odstraníte. Aktualizujte verzi balíčku, znovu sestavte balíček a pak ho znovu publikujte.
Publikování se nezdaří při použití firewallu nebo proxy serveru
Povolte adresy URL a IP adresy domény Azure Artifacts a potom publikování zkuste znovu.
Publikování selže s chybou 403
Tato chyba obvykle znamená, že váš účet nemá oprávnění k publikování pro daný kanál. Abyste mohli nahrávat balíčky, potřebujete alespoň roli Publikující uživatel informačního kanálu (Přispěvatel). Požádejte vlastníka informačního kanálu, aby aktualizoval vaši roli, a zkuste to znovu.