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。

非常感謝任何幫助/諮詢

回答