Записки на лету

All posts tagged TFS

В новой студии, по-умолчанию, при осуществлении чекина при привязке рабочего элемента состояние этого рабочего элемента устанавливается в состояние «Завершена» и это очень раздражает т.к. я постоянно закрываю задачи по ошибке.

В поисках решения этой проблемы я нашел два решения:

Вариант первый — изменить настройки клиентов Visual Studio.

За

  • Изменение применяется один раз на клиенте и работает со всеми TFS серверами к которым подключается.
  • Оставляет возможность поставить задачу в состояние «Завершена» при чекине.

Против

  • Изменения должны быть произведены на клиенте и для каждого пользователя.

В большинстве случаев где бы Вы не инициировали CheckIn в Visual Studio Вы окажетесь на панели «Pending Changes». Это вариант изменяет выбор по умолчанию с «Resolve» на «Associate».

Для этого, всего навсего необходимо изменить запись реестра ResolveAsDefaultCheckinAction с True на False, которая находится по адресу: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\BehaviorTFS-Resolve-Reg

Это для студии 2015, для версий ниже нужно поменять 14.0 на соответствующий номер.

После того как Вы изменили реестр, для того что быть уверенным, что изменения применились в студии необходимо закрыть все экземпляры студии и запустить Developer Command Prompt for VS, где выполнить следующую команду:

devenv /setup

Вариант второй — удалить действие чекина из шаблона процесса.

За

  • Изменения производятся на сервере в Team Project и не затрагивает клиентов.

Против

  • Изменения должны быть применены ко всем текущим Team Projects и потребуется обновить Process Template для будущих Team Projects.
  • Полностью удаляет поставить задачу в состояние «Завершена» при чекине.

Для этого варианта нам понадобится редактор шаблонов рабочих элементов. Я использовал TFS Power Tools, которые ставятся как аддон к Visual Studio.

Открываем студию и идем в меню TOOLS -> Process Editor -> Work Item Types -> Open WIT from Server.

TFS_Open_WIT

Открываем нужный проект и выбираем Task.

TFS_Open_WIT_2

В окне редактора рабочего элемента переходим на вкладку Workflow и ищем Transition, где есть Actions Microsoft.VSTS.Actions.Checkin.

TFS_Open_WIT-3

Кликаем ПКМ на заголовке окна и выбираем Open Details, в появившемся окне переключаемся на вкладку Actions выбираем Microsoft.VSTS.Actions.Checkin и кликаем Delete.

TFS_Open_WIT_4

В стандартном шаблоне у таска удалить надо в двух переходах и у бага в одном.

Вот, собствено, и все.


В дополнение к Jump Start Applying ALM with Visual Studio 2012 (exam 70-498) сегодня стали доступны для просмотра Jump Start Administering Visual Studio Team Foundation Server 2012 и Jump Start Software Testing with Visual Studio 2012  для экзаменов 70-496 и 70-497 соответственно.

70-497 Jumpstart

70-496 Jumpstart

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

ChiefInDev

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


Наконец-то в TFS появился более-менее нормальный OData API, который поддерживает достаточно много всего.

Всю информацию смотрите здесь https://tfsodata.visualstudio.com/.

Статья Брайна Келлера Bringing OData to Team Foundation Service.

Уже есть пару приложений для Windows 8 TFS Dashboard и для Windows Phone OData Service for Team Foundation Server v2 Beta.


Что такое Solution Packager?

Solution packager это маленькое приложение командной строки, которое позволяет распаковывать и запаковывать zip-архивы решений MS Dynamics CRM 2011. Это приложение не просто распаковывает архив, оно разбивает решение на отдельные файлы для каждой формы, представления, веб-ресурса и т.д. Благодаря этому Solution packager позволяет перейти на новый уровень контроля версий для решений. Раньше было весьма трудно эффективно хранить Решения в системе контроля версий. Обычно все сводилось к тому, что в TFS чекинились архивы решений, что к контролю версий имело мало отношения.

Скачать его можно вместе с пакетом SDK скачать который можно здесь.

Использование Solution Packager

Обязательные параметры:

  • /action: {Extract|Pack} (Распаковать|Запаковать)
  • /zipfile: (Путь к файлу Решения)
  • /folder: {(Путь к папке с распакованным решением)

Для того чтобы распаковать решение c:\Solutions\TestSolution_1_0.zip в папку c:\Solutions\TestSolution_1_0
Полная команда

solutionpackager.exe /action:Extract /zipfile:c:\Solutions\TestSolution_1_0.zip /folder:c:\solutions\TestSolution_1_0

Сокращенная версия

solutionpackager.exe /a:Extract /z:c:\Solutions\TestSolution_1_0.zip /f:c:\solutions\TestSolution_1_0

В результате мы получим папку с довольно большим количеством подпапочек с файлами .xml, которые уже куда удобнее хранить в TFS.

SolPackager

Для того чтобы запаковать решение c:\Solutions\TestSolution_1_0 обратно в пакет c:\Solutions\TestSolution_1_0.zip
Полная команда

solutionpackager.exe /action:Pack /zipfile:c:\Solutions\TestSolution_1_0.zip /folder:c:\solutions\TestSolution_1_0

Сокращенная версия

solutionpackager.exe /a:Pack /z:c:\Solutions\TestSolution_1_0.zip /f:c:\solutions\TestSolution_1_0

Дополнительные параметры

Есть, также, дополнительные параметры (жирным выделены параметры по-умолчанию):

  • /packagetype: {Unmanaged|Managed|Both} (тип решения, пока не очень разобрался зачем);
  • /allowWrite: {Yes|No} (используется только при распаковке и регулирует удаление и перезапись уже существующих файлов в папке для распаковки);
  • /allowDelete: {Yes|No|Prompt} (используется только при распаковке и регулирует удаление лишних файлов в папке для распаковки);
  • /clobber (используется только при распаковке и разрешает удаление и перезапись уже существующих файлов с пометкой «Только для чтения» в папке для распаковки);
  • /map: (путь к файлу .xml с настройками маппинга);
  • /errorlevel: {Off|Error|Warining|Info|Verbose} (уровень логирования);
  • /log: (путь к файлу лога).

Более подробно смотрите документацию CRM 2011 SDK.

Что я успел заметить это то, что Solution packager не работает с русскими символами в путях и, так же, не забывайте заключать путь в кавычки если он имеет пробелы.


Microsoft раздает облачный TFS.

Подробности в статье TFS в Облаке: 5 пользователей бесплатно! на хабре.

Я пользуюсь этим сервисом со времен MS DevCon’12, когда это было TFS Preview и я очень надеялся, что они его не закроют.

Мне повезло…