1

Visual Studio Team Services에서 마이크로 서비스 아키텍처 프로젝트의 릴리스 흐름을 설정하려고합니다. 이 작업을 수행하려면 필자의 솔루션에서 모든 프로젝트/서비스에 대한 아티팩트를 추출해야합니다. 하드 코딩 된 값이있는 모든 서비스에 대해 개별 빌드 단계를 설정하여 수동으로이 작업을 수행 할 수 있습니다. 하지만 더 일반적인 것을 만들고 싶다면 어떻게해야할까요?마이크로 서비스 아키텍처 용 VSTS의 릴리스 흐름 구현

내 꿈의 시나리오에서는 서비스 이름이 입력 된 작업 그룹을 만들고 배포 할 서비스/프로젝트 목록을 보낼 수 있습니다. 작업 그룹을 만드는 방법을 알았지 만 목록을 입력으로 사용하는 방법이 아니라 작업을 호출하는 개체 목록을 반복하는 방법이 아닌 방법을 알았습니다. 제안 사항이 있으십니까? 타사 도구 또는 PowerShell 스크립트를 보는 대신 시간을 할애해야합니까?

편집 : 나는 명확히하기 위해 노력할 것입니다 내 내가 어떤 의사 코드로 원하는 :

BuildAndReleaseCode(solution, listOfServicesToBuild) 
{ 
    NuGetRestore(solution); 
    outputfolder = BuildSolution(solution); 
    //Add testing 
    for (service in listOfServicesToBuild) 
    { 
     CopyFilesAndPublishArtifact(sourceFolder, targetfolder) 
     DeployArtifact(targetFolder, targetMachine) 
    } 
} 
+0

지정한 하드 코드 값은 무엇입니까? –

+0

이 문제를 해결합니까? –

+0

@starain 불행히도 없습니다. 하지만 내가 찾고있는 코드를 clarifiy에 추가했습니다. – jimmy

답변

2

일반 과정 :

  1. 하는 프로젝트를 빌드하고 (유물을 게시하는 빌드 정의 (들)을 만들기 게시 아티팩트 단계) (여러 Visual Studio 빌드 단계가있는 빌드 정의 또는 각 프로젝트의 여러 빌드 정의) Visual Studio Build에 대해 프로젝트/솔루션을 지정해야합니다.
  2. 큐 빌드 (들)
  3. 이 릴리스 (유물 탭)에 릴리스 정의
  4. 링크 하나 이상의 유물 (유물을 구축) 만들기
  5. 프로젝트를 배포하는 데 필요한 작업 및 환경을 추가합니다.
  6. 릴리스를 만들고 새 이슈 버전을 사용할 때 (오픈 릴리스 정의 => 탭을 트리거) 릴리스가 트리거 될 수

배포 해제 시작합니다.

또한 특정 시간에 체크인 또는 대기열 작성시 빌드가 트리거 될 수 있습니다. (오픈 빌드 정의 => 트리거 탭)

업데이트 : 비주얼 스튜디오 빌드 단계에 대한

는, 와일드 카드, 예를 들어, 사용할 수 있습니다 *** 모든 하위 폴더에있는 모든 SLN 파일에 대한 SLN 때문에. 하드 코딩 된 값을 가진 프로젝트를 지정할 필요가 없습니다.

솔루션에서 특정 프로젝트를 빌드하려면 /t parameter을 지정할 수 있습니다.

이러한 프로젝트가 다른 솔루션 및 위치에있는 경우 MSBuild 작업을 사용하여 프로젝트를 빌드하는 MSBuild project file을 만들 수 있습니다. 한편

, 사용자 정의, 그것을 달성하기 위해 작업을 만들 수는 VSBuild code을 참조 할 수 있습니다 및 사용자 지정 빌드 작업에이 기사 ( 1 또는 2), 그 후, 프로젝트리스트 인수와 함께이 사용자 지정 빌드 작업을 사용하여 구축 당신이 원하는 프로젝트.

+0

아, 내가 링크 한 기사가 아마도 내가 원하는 것 일세. 고맙습니다! – jimmy