2017-01-19 3 views
0

나는 8 개의 웹 프로젝트와 12 개의 실행 파일을 가진 솔루션을 가지고있다. 둘 사이에 많은 비즈니스 라이브러리가 공유되어 있기 때문에 모두 매우 밀접하게 결합되어있다. VSTS에 전체 솔루션에 대한 단일 빌드 정의가 있지만 20 가지 다른 릴리스 정의가 있습니다.VSTS 릴리스 관리; 많은 릴리스 타겟

우리는 Dev/QA/Pre-Prod/Production을위한 단일 환경, 충분한 동시 개발 및 모든 환경 모델을 움직이는 단일 변경 사항이 우리에게 적합하지 않은 관리 제한을 가지고 있습니다. Dev와 QA 테스트는 나중에 릴리스 후보자를 위해 야간 복합 빌드로 이동합니다.

우리는 두 세트의 릴리스 정의 (개발 세트QA 세트와 사용자 승인을 생산 세트를 통해 얻으려는 것)를 갖고 싶지만, 해당 모델을 따르는 경우 40 개 릴리스 정의. 내가 놓친 게 있니? 하나의 릴리스 실패가 다른 릴리스에 영향을 미치기를 원하지 않기 때문에 EXE에 대한 별도의 정의가 있습니다. 그리고 이들 모두가 별도의 디렉토리에 별도의 페이로드이기 때문에 모두 구별되어야하는 것처럼 보입니다.

배포 가능한 프로젝트 당 1 개의 릴리스 def 패턴이 정확한지, 야간 빌드의 경우 2 개의 배포 가능한 릴리스 정의가 모두 올바른가요?

답변

2

일종의 마이크로 서비스 패턴이있는 경우 전체 응용 프로그램을 한 환경에서 배포하거나 적어도 전체 하위 시스템을 한 번에 배포하는 것이 좋습니다. 고도로 결합 된 종속성이있을 때 다중 릴리스를 트리거하지 않으려합니다. 이는 사이클 또는 적어도 복잡성에서 많은 오류를 초래할 수 있습니다. 해당 정의는 각 환경에 대해 동일한 순서를 여러 번 가질 수 있습니다.

+0

"전체 응용 프로그램"에 대한 귀하의 정의가 무엇인지 궁금합니다. 단순화 된 예로, 우리는 서비스 계층과 3 개의 사용자 인터페이스, 하나의 공개 고객, 하나는 내부 사용자, 다른 하나는 비즈니스 파트너를위한 것입니다. 그것들은 모두 서비스 계층과 통신하지만 3 개의 UI는 각기 다른 응용 프로그램입니다. –

+1

실제로 이것은 선 그리기가 일반적으로 어렵습니다. 그런 결정을 내려야 할 때 나는 주로 두 가지를합니다 : 두 부분이 같은 수준이 아니라면 무엇이 파괴 될지를 결정하는 의존성 다이어그램. 그것은 대부분 어려운 한계가 될 것입니다. 그런 다음 유연성과 단순성간에 결정을 내립니다.이 두 가지 부품을 별도로 배송 할 수 있는지 여부는 필요합니까? 이러한 질문에 답하면 어떤 부분이 전체적으로 또는 개별적으로 출하 될지 결정하는 데 도움이됩니다. 희망은 도움이됩니다. – baywet