1

我们的解决方案中有大约40个项目,其中主要3是Web应用程序,Windows服务和数据库迁移应用程序。Visual Studio Online Octopus部署

我已经安装了带有章鱼部署应用程序和触手的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云服务项目,以防止双重构建主Web应用程序的新配置试图两次部署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在线可能吗?处理这种情况的常用方法是什么,因为我确信有很多人使用Visual Studio Online/Branching/Octopus Deploy。

非常感谢任何帮助/咨询

回答