В нашем решении имеется около 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.
Большое спасибо за любую помощь/совет