2015-12-11 2 views
0

Есть ли какие-либо рекомендации и рекомендации по организации Visual Studio Team Services для нового облачного приложения? Я планирую создать решение WebAPI для служб REST, решение Xamarin Forms для мобильного клиента, решение MVC для Интернета и, наконец, SQL-скрипты. В идеале я хотел бы учитывать будущие приложения со своим исходным кодом.Организация Visual Studio Team Services для нового облачного приложения

Dev 
    App1 
      WebAPI 
      XamarinForms 
      MVC 
      SQL 
    App2 
      ... 
    ... 
Test 
Prod 

Другой подход заключается в создании проекта в App

App1 
    Dev 
      WebAPI 
      XamarinForms 
      MVC 
      SQL 
     Test 
      ... 
     Prod 
      ... 
App2 
... 

Я также видел людей, положить все в одном проекте гиганта под одной коллекции. Таким образом, вместо создания проектов Dev, Test, Prod в первом дереве мы создадим их как папки. То же самое со вторым деревом. Почему я не хочу создавать несколько командных проектов?

Я не эксперт TFS, но я хотел бы начать работу с правой ноги.

P.S. Я видел несколько похожих вопросов о SO, но не думал, что они ответили на мой вопрос, особенно в том, что они не создают командные проекты.

ответ

1

Услуги Visual Studio Team Services (и Team Foundation Server on-situ) поддерживают концепцию коллекций коллективных проектов, командных проектов и команд.

A TPC - это наивысшая степень разделения. В настоящее время вы получаете один DefaultCollection на VSTS. В рамках этой коллекции вы создаете отдельные Team Project. В рамках Team Project у вас есть одна или несколько команд.

В современных лучших практиках утверждается, что один командный проект легче всего работает. Короче говоря, это позволяет вам более легко обмениваться кодами, рабочими элементами и другими активами, сохраняя при этом отдельные резервные копии и репозитории кода.

Для более подробного объяснения увидеть пару блогов на эту тему, такие как:

В вашем случае я бы абсолютно пойти с один Team Project, а затем несколько команд для каждого отдельного приложения. В команде верхнего уровня вы можете запланировать Epics and Features и распространить их на команды внедрения.

Если бы я начал такой проект сегодня, я бы также выбрал Git для Source Control. Git и TFVC поддерживаются, и TFVC никуда не годится. У Git, однако, есть some advantages, что я считаю очень привлекательным.

Что касается структуры вашей папки. Если App1 и App2 должны быть выпущены вместе, они должны сидеть в общей ветке. Если они могут быть выпущены отдельно, они должны иметь свою собственную ветку.

В ALM Rangers есть отличный документ по контролю версий, который объясняет различные модели ветвления. Это freely available on CodePlex.

+0

Спасибо. Их нужно будет выпускать отдельно, поэтому я предполагаю, что вы имеете в виду, что второе дерево более подходит? – Mark13426

+1

Да. Используя модель ветвления для каждого приложения, вы можете иметь одно приложение, готовое к выпуску, в то время как другое все еще тестируется. –

Смежные вопросы