Как да хоствам своя собствена емисия nuget v3?

Моята организация има няколко емисии на nuget v2 (приложение .net, използващо nuget.server) за нашите вътрешно разработени пакети и за повторно хостване на пакети на трети страни (тъй като нашите компилиращи машини нямат достъп до интернет и ние проверяваме какви пакети използват разработчиците в нашия продукт и бихме искали компилациите да се провалят, ако нямаме пакет).

Всеки път, когато добавям пакети, които изискват nuget клиент 3.0+ към моите nuget сървъри, nuget сървърът се срива, защото не може да чете метаданни от тези пакети. Как да хоствам собствен сървър nuget v3/да надстроя съществуващите си сървъри nuget, за да бъдат съвместими с v3?


person badazzhindu    schedule 09.11.2015    source източник


Отговори (3)


Наскоро написах nuget сървър aspnetcore междинен софтуер.

Разбира се, внедряването е толкова глупаво, грозно и т.н... връзка

Можете да го настроите в Startup.cs

public void ConfigureServices( IServiceCollection services )
{
    ...
    services.AddNugetServer(opt=>
    {
        opt.ApiKey = "This is a string used for adds or deletes your package(s)";
        opt.PackageDirectory = "/path/to/your/packages"; //default is current path + "/packages"
    });
    ...
}

public void Configure( IApplicationBuilder app, IHostingEnvironment env )
{
    ...
    app.UseNugetServer();
}

И посетете http(s)://your-server-address[:port]/v3/index.json

Публикуване:

dotnet nuget push -s http(s)://your-server-address[:port]/v3/package package.nupkg
person Reo Mai    schedule 26.12.2017

Имах същия проблем и направих някои изследвания. Може вече да сте решили проблема си, но тук самите NuGet изброяват няколко алтернативи, които да разгледате; както безплатни, така и платени: Хостинг на ваши собствени NuGet емисии

Накратко, списъкът е

  • Екипни услуги на Visual Studio
  • MyGet
  • ProGet на Inedo
  • Artifactory на JFrog
  • NuGet сървър
  • Nexus на Sonatype

Току-що тествах ProGet, но този изглежда не е актуален с v3, дори ако беше лесен за инсталиране и безплатен.

Може просто да премина към родния на TeamCity, веднага щом получат функцията да обработват емисии v3.

В момента тествам NuGet сървър, който може да бъде изтеглен като пакет чрез

Install-Package NuGet.Server

в Package-Manager във Visual Studio в ново, празно уеб приложение за .Net 4.5.x.

person Tryggen    schedule 04.05.2016

Проверих някои продукти и любимият ми е Azure DevOps Services.

Услуги на Azure DevOps

✅ безплатно (2 GB включено място за съхранение)
✅ символи за поддръжка
✅ уебсайт с търсене

BaGet В момента не е налична стабилна версия (септември 2019 г.)

✅ безплатно
✅ поддържащи символи
✅ уебсайт с търсене

NuGet сървър

✅ безплатно
❌ поддържащи символи
❌ уебсайт с търсене

MyGet

❌ безплатно
✅ поддържащи символи
✅ уебсайт с търсене

ProGet на Inedo

❌ безплатно
✅ поддържащи символи
✅ уебсайт с търсене

JFrog's Artifactory

❌ безплатно
✅ поддържащи символи
✅ уебсайт с търсене

Nexus на Sonatype

❌ безплатни
❌ символи за поддръжка
✅ уебсайт с търсене

Скрипт за мигриране

$source = "http://oldnuget-server.mydomain.com/nuget"
$destination = "https://pkgs.dev.azure.com/MYCOMPANY/_packaging/MYCOMPANY/nuget/v3/index.json"

(& .\nuget.exe list -AllVersions -Source $source).Split([Environment]::NewLine) | % {
  $id = $_.Split(" ")[0].Trim()
  $version = $_.Split(" ")[1].Trim()

  $path = [IO.Path]::Combine("Packages", $id, $version, "${id}.${version}.nupkg")

  Write-Host "nuget.exe push -Source $destination ""$path"""
  & .\nuget.exe push -Source $destination $path -ApiKey XXXX-XXXXX
}
person live2    schedule 20.08.2019