我们的解决方案中有大约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。
非常感谢任何帮助/咨询