我們的解決方案中有大約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。
非常感謝任何幫助/諮詢