1

В нашем решении имеется около 40 проектов, основными из которых являются веб-приложение, служба Windows и приложение для миграции базы данных.Visual Studio Online с Octopus Deploy

У меня установлена ​​виртуальная машина Azure с приложением для развертывания осьминогов и щупальцем. Я использую следующую команду сборки в пакетном файле, чтобы проверить на данный момент:

set msBuildDir=%WINDIR%\Microsoft.NET\Framework64\v4.0.30319 
call %msBuildDir%\msbuild.exe "{SolutionFile}" /p:Configuration=Deployment-OctopusDeploy /p:RunOctoPack=true /p:OctoPackPackageVersion=%1  /p:OctoPackPublishPackageToHttp=http://localhost/OctopusDeploy/nuget/packages /p:OctoPackPublishApiKey={OURAPIKEY} 

мне пришлось создать новую конфигурацию, которая не строить проект Azure Cloud Services для предотвращения двойной сборки на главном веб-приложения который пытался развернуть пакет NuGet дважды. Я также должен был пройти в номере версии, как и в нашем файле сборки у нас есть номер версии следующим образом:.

[assembly: AssemblyVersion("2.62.*")] 

И мы получали ошибку говоря 2.62 * не является допустимым номер версии, поэтому мы ставим пакетный файл в консольном приложении, загрузил номер версии оттуда, как показано ниже, и передал его в пакетный файл в процессе.

public static string CurrentVersion 
{ 
    get 
    { 
    if (String.IsNullOrWhiteSpace(_currentVersion)) 
    { 
     Assembly assembly = Assembly.GetExecutingAssembly(); 
     var version = assembly.FullName.Split(',')[1]; 
     var fullversion = version.Split('=')[1]; 
     _currentVersion = fullversion; 
    } 
    return _currentVersion; 
    } 
} 

Мы также Дев и основную ветвь и наша конечная цель заключается в следующем:

Мы хотели, чтобы наши TFS онлайн построить на регистрации на любой разработчика или основной и передать параметры OctoPack в агент MsBuild, и если пакеты NuGet из ветви dev присоединяют их к dev, и если они из основной ветки добавляют их к main. Также мы хотели, чтобы версия читалась правильно, вместо того, чтобы запускать консольное приложение, которое, как мне кажется, мы не можем сделать с онлайн-версией сборки TFS.

Возможно ли это с помощью OctoPack и визуальной студии онлайн? Каковы общие методы для обработки этого сценария, поскольку я уверен, что есть много людей, использующих Visual Studio Online/Ветвление/Octopus Deploy.

Большое спасибо за любую помощь/совет

ответ

1

ли прилипать ваш NuGet номер версии для управления версиями семантики NuGet?

Вот регулярное выражение:

\d+(\s*\.\s*\d+){0,3}-[a-z][0-9a-z-]* 

Для дальнейшего использования, если изменения этого регулярного выражения, вот источник: https://nuget.codeplex.com/SourceControl/latest#src/Core/SemanticVersion.cs