1

우리는 주된 3 가지가 웹 응용 프로그램, Windows 서비스 및 데이터베이스 마이그레이션 응용 프로그램 인 약 40 개의 프로젝트를 솔루션에 포함하고 있습니다.Octopus 배포를 통한 Visual Studio 온라인

나는 옥토퍼스 배포 응용 프로그램과 촉수가있는 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} 

나는 주요 웹 애플리케이션에 더블 빌드를 방지하기 위해 애저 클라우드 서비스 프로젝트를 빌드하지 않은 새 구성을 작성했다 : 나는 순간에 테스트 배치 파일에 다음 빌드 명령을 사용하고 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; 
    } 
} 

우리는 또한 dev에와 주요 지점과 우리의 최종 목표를 가지고는 다음

우리는 우리의 TFS 온라인 체크 - 인 디바이스 또는 주 중 하나에 구축해야하고 할 수있는 OctoPack 매개 변수를 전달하고 싶었다 MsBuild 에이전트와 NuGet 패키지가 dev 브랜치에서 나온 것이라면 dev에 그것들을 추가하고 main 브랜치의 브랜치에 main을 추가하십시오. 또한 우리는 TFS 빌드의 온라인 버전으로는 할 수 없다고 생각되는 콘솔 응용 프로그램에서 실행하지 않고 버전을 올바르게 읽길 원했습니다.

OctoPack 및 Visual Studio 온라인에서 가능합니까? Visual Studio Online/Branching/Octopus Deploy를 사용하는 사람들이 많기 때문에이 시나리오를 처리하는 일반적인 방법은 무엇입니까?

답변

관련 문제