Visual Studio 2017 push nuget на (внутренний) сервер nuget - PullRequest
0 голосов
/ 30 апреля 2019

Я тону в репозиториях Nuget (более 20+), и я могу собрать и упаковать Nuget с помощью Visual Studio 2017. Это прекрасно и прекрасно.сервер.

Чтобы сделать это, мне нужно перейти в каталог projects \ src \ bin \ Release \ netcoreapp2.2 \ publish, открыть командную строку и ввести команду f .., чтобы выдать сообщение всервер.

Это не похоже на 3-й век.

В любом случае, чтобы автоматизировать это?

Я понимаю, у меня есть особый вариант использования (во время моего текущего этапа разработки) который будет устаревшим позже.В настоящее время я конвертирую существующие коды в nugets и не хочу увеличивать номера версий во время нескольких сборок. Первая версия готова, и пока первая версия не готова, мы не используем CI / сервер сборки, и у меня естьдля локального создания nugets.

Это связано с тем, что при создании нового пакета nuget (с новым кодом), но в той же версии старый код (с тем же номером версии) остается в локальном кэше nuget.Поэтому мне нужно очистить кеш Nuget (и перезагрузить его, что следует делать, только если используется сервер кеширования Nuget или в результате будет большой сетевой трафик).


Лучший способ, который я выяснилДо сих пор использовались цели MSBuild.

Я зашел так далеко:

  <Target Name="DeployReleaseNuget" AfterTargets="Pack" Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <Exec Command="nuget locals all -clear"></Exec>
    <Exec Command="nuget push -Source http://debug.our-nuget.server/v3/index.json &quot;$(OutputPath)publish\$(PackageId).$(PackageVersion).nupkg&quot;" />
  </Target>

  <Target Name="DeployReleaseNuget" AfterTargets="Pack" Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <Exec Command="nuget locals all -clear"></Exec>
    <Exec Command="nuget push -Source http://release.our-nuget-server/v3/index.json &quot;$(OutputPath)publish\$(PackageId).$(PackageVersion).nupkg&quot;" />
  </Target>

Пока что это работает, я просто не могу понять, как привязать цель к определенной публикациипрофиль (который я назвал «TestProfile»).Кажется, нет переменной для имени профиля?До сих пор каждая сборка (даже на сервере сборки только при использовании командной строки для сборки запускает загрузку, которая является непреднамеренной.

...