Как реализовать в компании распределенный контроль версий (TFVC 2015)?

Я не знаю, правильно ли здесь задавать этот вопрос или нет, но мне нужно найти ответ (пожалуйста, знайте, где спросить). Мы собираемся реализовать распределенный контроль версий, такой как TFVS2015, с репозиторием Git по умолчанию в компании. Однако, прежде чем внедрять систему для всей команды, мне нужно запустить ее на одном сервере, чтобы протестировать сервис. Мне нужно знать:

  • Как правильно спроектировать топологию?
  • Что установить на стороне сервера?
  • Что нужно на стороне клиента?
  • Какой хост лучше использовать в сервисе?

Так как я очень новичок в работе с контролем версий, любой другой обмен подходящим опытом был бы замечательным. Спасибо за вашу помощь.


person programmer21    schedule 20.07.2016    source источник
comment
Вы уже используете TFS? Также TFVC не распространяется, это централизованная система контроля версий. Git — это распределенная система, которую можно разместить в TFS.   -  person James Reed    schedule 20.07.2016
comment
Нет, еще нет. Вы имеете в виду, что если я использую Git в качестве репозитория, я должен использовать Azure в качестве хоста? иначе, если я использую TFVS, Azure не нужен? Облако важно для нас, потому что, возможно, мы не сможем его реализовать!!! Разве мы не можем использовать какой-либо другой хост службы команд?   -  person programmer21    schedule 20.07.2016
comment
Репозиторий TFVS 2015 по умолчанию — git. поэтому мы решили использовать TFS 2015. Также TFS 2015 поддерживает как распределенный, так и централизованный контроль версий.   -  person programmer21    schedule 20.07.2016


Ответы (2)


Как правильно спроектировать топологию?

TFS можно установить локально или использовать облачную версию под названием Visual Studio Team Services.

VSTS бесплатен для 5 пользователей, и если у ваших разработчиков есть лицензии MSDN, то у вас уже есть все, что вам нужно, или вы можете купить дополнительные лицензии. доступ к новейшим функциям.

Если бы это был я, я бы выбрал VSTS.

Что установить на стороне сервера?

Если вы хотите установить локальную или размещенную в облаке виртуальную машину, чтобы попробовать ее, скачайте TFS 2015 Update 3 (это последняя версия).

У Бена Дэя есть прекрасное иллюстрированное руководство по установке с нуля https://www.benday.com/2015/08/07/team-foundation-server-2015-tfs2015-installation-guide/

Официальная документация здесь https://www.visualstudio.com/en-us/docs/setup-admin/install-tfs/get-started

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

Что нужно на стороне клиента?

Это зависит от того, что вы разрабатываете. Если вы используете Visual Studio, то все должно быть хорошо. Вы добавите сервер в окно Team Explorer и сможете получать и фиксировать код. Вы также можете установить git, Team Explorer Everywhere (для Eclipse), Visual Studio Code.

Клиенты — https://msdn.microsoft.com/en-us/library/ms181304.aspx

Командная строка Git — https://git-scm.com/downloads

Какой хост лучше использовать в сервисе?

Не уверен, что понимаю это, но если вы говорите о размещении TFS в облаке, избавьте себя от хлопот и зарегистрируйтесь в VSTS. Если вы действительно хотите использовать IaaS, я лично использую Azure, но подойдет и любой другой сервис.

person rerwinX    schedule 20.07.2016
comment
Спасибо rewinRR за ваше руководство.!! - person programmer21; 20.07.2016

Так как я очень новичок в работе с контролем версий, любой другой раздел подходящего опыта был бы замечательным.

Позвольте мне быть прямолинейным, и, пожалуйста, не принимайте это на свой счет.

Почему у вас есть работа, чтобы принимать такие проектные решения, закладывая основы системы, которая будет влиять на каждого разработчика в течение многих лет всеми возможными способами, когда вы описываете себя как «самый новичок» (я интерпретирую это как означающее, что вы никогда не устанавливали и даже не использовали VCS самостоятельно, за исключением самых поверхностных операций «добавить/фиксировать»)?

Не поймите меня неправильно, я тоже был в подобных ситуациях, достаточно часто, проходя через этот процесс с CVS и более поздней версией Subversion около 15 лет назад (к моей защите, git тогда еще не было), а позже с Git: система контроля версий (+процедуры) для команды разработчиков, начинающих с нуля и ничего не знающих.

Чтобы ответить на ваш вопрос:

  • Если у вас есть шанс найти кого-то, кто разбирается в этом, попросите его спроектировать вашу систему для вас.

Еще:

  • Прочтите доступную документацию по VCS, которые вы хотите оценить. Пока пропустите «учебники» или даже Stackoverflow, но прочитайте настоящую официальную документацию. Если это не поможет вам принять решение, то это явный признак того, что следует держаться подальше от VCS. Если вы просто не понимаете этого (даже после долгих и серьезных размышлений), это явный признак того, что вам нужна помощь.
  • Найдите хороший игровой проект.
  • Просто сделай это. Создайте репозиторий на своем личном ПК или на какой-нибудь тестовой машине. На данный момент не должно иметь значения, какие ресурсы вы используете.
  • Играйте, пока не подумаете, что у вас есть хорошее понимание. Размещайте свои материалы в разных местах и ​​имитируйте совместную работу с другими людьми (разветвление, слияние, разрешение конфликтов и т. д.).
  • Между тем, убедитесь, что вы хорошо понимаете, что такое ветвление и слияние (абстрактная часть, которая одинакова для каждой системы контроля версий, а также технические последствия для вашей специальной системы контроля версий). Подумайте/прочитайте о рабочих процессах разработки (какие ветки/функции вы хотите использовать). Ищите функции, которые могут быть недоступны в каждой отдельной системе контроля версий (например, перебазирование).
  • Если/когда у вас возникнет теплое нечеткое представление о программном обеспечении и общей теме, тогда идите и спросите подробности. Если вы сделаете это совершенно пустым (и из вашего поста я предполагаю, что это так), последуют боль и страдание (по крайней мере, для вас самих, если не для ваших коллег).

Получайте удовольствие и удачи. :)

person AnoE    schedule 20.07.2016
comment
Спасибо AnoE за точное описание моего текущего состояния!!!. Я буду использовать ваши советы, чтобы правильно выполнять свою работу. - person programmer21; 20.07.2016