Работа с Visual Studio Team Foundation Server 2010


    Данная статья будет полезна тем, кто не устанавливал и не использовал Visual Studio Team Foundation Server раньше. TFS может быть частью очень сложной инфраструктуры, которая включает отчеты, интеграцию с SharePoint, множественные домены, распределенные базы данных и т.д., но я не собираюсь затрагивать эти области. Моя основная задача – это помочь разобраться с базовыми элементами TFS (система контроля версий, система отслеживания ошибок и заданий и система автоматических сборок) и начать использовать данную систему.


    Предисловие


    Для начала давайте рассмотрим, почему именно Team Foundation Server? TFS создана с целью интегрировать средства разработки для более быстрой и комфортной работы. Вы можете сами интегрировать разные системы вместе:

    Visual Studio Team Foundation Server 2010 Image 1

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

    TFS представляет собой систему, которая интегрирует все необходимые компоненты вместе.

    Visual Studio Team Foundation Server 2010 Image 2

    Такая интеграция охватывает наиболее общие сценарии. В обычный день я буду добавлять и править исходный код, делать сборки, тестировать их, заносить найденные ошибки в журнал и исправлять их. Когда весь рабочий процесс происходит в одной интегральной среде, то каждый из элементов процесса может быть связан. Например, если я копирую файлы в репозиторий, в которых я исправил ошибку, то я сразу хочу сделать отметку об этом в отчете. TFS, установленная в “Basic” конфигурации, позволяет делать все, что было описано выше. Полная версия TFS включает: автоматическое тестирование, развертывание виртуальной лаборатории и проверка архитектуры приложения:

    Visual Studio Team Foundation Server 2010 Image 3

    В зависимости от необходимости, вы можете использовать только часть компонентов.

    Существует множество способов для получения доступа к функционалу TFS. Если вы программист, то вероятно вы будете себя комфортно чувствовать, используя Visual Studio. Если вы тестировщик, вы можете использовать новый Team Explorer в качестве клиента, без необходимости устанавливать Visual Studio. Если вы руководитель проекта, то вы можете получить доступ к информации через web браузер или Excel, Microsoft Project или даже MOSS.

    Установка TFS 2010


    Забегая вперед, скажу, что этот процесс стал, как ни когда простым. Поэтому я решил не публиковать подробную инструкцию по установке (если же с установкой возникнут проблемы, рекомендую прочитать статью Установка Visual Studio Team Foundation Server 2010), а ограничиться лишь теоретическими знаниями.
    Рассмотрим основные преимущества, которые предлагает новая версия TFS.

    1. Требования — были устранены наиболее важные ограничения, которые исторически передавались от версии к версии.
    • TFS 2010 может быть установлен на контроллере домена. Разработчики TFS поняли, что многие небольшие организации не имеют возможность использовать выделенные серверы. Теперь если у вас есть только один сервер, который является контроллером домена, сервером электронной почты и т.п., появилась возможность установить на этот сервер и TFS 2010!!!
    • TFS 2010 может быть установлен на персональные операционные системы – TFS 2010 устанавливается на Vista и Windows 7 Home Premium и выше. Ну и конечно, поддерживаются серверные операционные системы (Windows 2003, Windows 2008 и Windows 2008 R2). Теперь у вас появилась возможность запустить сервер управления версиями прямо на вашем рабочем ноутбуке.
    • TFS 2010 может работать и на 32 и на 64 битной операционной системе!


    2. Установка. Установка TFS была самым больным местом в течение многих лет. Теперь этот недостаток превратился в достоинство. Установщик TFS 2010 имеет три режима установки: Basic, Standard и Advanced. Особенно большой прорыв сделан в режиме “Basic”. По сути, данный режим превратился в установку по принципу Далее -> Далее -> Далее, что позволяет установить и настроить TFS 2010 за 20 минут или даже меньше (при условии, что на компьютере уже стоит .NET 4.0 и MSSQL Express). Режим “Basic” позволяет автоматически установить и настроить IIS (если он еще не установлен), MSSQL Server (если он еще не установлен) и установить и настроить непосредственно TFS 2010. Сама большая неприятность в этом процессе – это то, что после установки .NET 4.0 необходимо перезагрузить компьютер. Но поверьте мне, результат того стоит!

    После установки TFS в «Basic» режиме вы получаете: систему управлениями версиями, систему отслеживания ошибок и систему автоматизации сборок (непрерывное интегрирование – проще простого!). Для полного комплекта не хватает компонентов: SharePoint и системы отчетов. Данные элементы присутствуют в режиме “Standard”. Еще одна хорошая новость в том, что вы уже установили TFS 2010 “Basic” и теперь вы можете просто добавить компоненты по мере необходимости, без полной переустановки системы.

    Система контроля версий в TFS 2010


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

    Предполагается, что у вас на компьютере уже установлен TFS 2010 и имеется Visual Studio 2010.

    И так, первое что нам необходимо сделать, это подключить Visual Studio к TFS. Для этого воспользуйтесь главным меню (Team) или ссылкой на домашней странице:

    Visual Studio Team Foundation Server 2010 Image 3

    Система попросит указать адрес существующего TFS. В моем случае мой Windows 7 ноутбук называется dionnis-pc.

    Visual Studio Team Foundation Server 2010 Image 3

    Visual Studio Team Foundation Server 2010 Image 3

    После этого, окно Team Explorer должно содержать название соединения с сервером и DefaultCollection. Но на текущий момент у нас нет не одного добавленного проекта.

    Visual Studio Team Foundation Server 2010 Image 3

    В поем случае, для примера я использую код Enterprise Library, но на самом деле, можно было ограничиться стандартным приложением (File, New Project, Windows Forms). Если вы сейчас попробуете добавить проект в репозиторий системы контроля версий, то Visual Studio выдаст ошибку:

    Visual Studio Team Foundation Server 2010 Image 3

    Visual Studio Team Foundation Server 2010 Image 3

    Ошибка означает, что вам необходимо создать проект в TFS, который будет все компоненты необходимые для вашей работы. И так, нам сначала необходимо создать новый проект:

    Visual Studio Team Foundation Server 2010 Image 3

    В следующем диалоговом окне необходимо указать название проекта и краткое его описание:

    Visual Studio Team Foundation Server 2010 Image 3

    Теперь Visual Studio просит указать методологию, которую мы будем использовать при разработке нашего приложения. По умолчанию – Agile (гибкая методология разработки), но так же можно выбрать и CMMI. Для дополнительной информации по методологиям я рекомендую почитать MSDN. Я рекомендую остановиться на Agile, если вы не знаете что именно для вас подходит или если вы используете одну из гибкий методологий разработки (например TDD).

    Visual Studio Team Foundation Server 2010 Image 3

    Visual Studio Team Foundation Server 2010 Image 3

    Visual Studio Team Foundation Server 2010 Image 3

    Visual Studio Team Foundation Server 2010 Image 3

    И так, наконец, Team Explorer отображает элементы текущего проекта: Work Items, Builds и Source Control.

    Visual Studio Team Foundation Server 2010 Image 3

    Теперь вы можете добавить ваш проект в репозиторий.

    Visual Studio Team Foundation Server 2010 Image 3

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

    Visual Studio Team Foundation Server 2010 Image 3

    При успешном завершения работы, Solution Explorer пометит файлы, которые претендуют на помещение в репозиторий символом “+”. Так же вы увидите список действий, которые необходимо выполнить для того, что бы поместить ваше приложение в репозиторий. Просто добавьте комментарий и нажмите Check-In:

    Visual Studio Team Foundation Server 2010 Image 3

    Процесс добавления файлов в репозиторий необходимо подтвердить:

    Visual Studio Team Foundation Server 2010 Image 3

    И так, поздравляю! Вы добавили свой проект в репозиторий!

    Cистема отслеживания ошибок в TFS 2010


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

    Записи об ошибках и заданиях в Visual Studio относятся к рабочим элементам (work items). Создать один из видов рабочих элементов можно непосредственно из панели Team Explorer в Visual Studio. Это же можно сделать, используя web интерфейс или инструменты Visual Studio Test и Lab Management. В нашем случае я использую панель Team Explorer:



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



    Давайте добавим сообщение об ошибке:





    Теперь если обновить список ошибок, то можно увидеть только что созданную запись.



    Давайте теперь добавим более реальное сообщение об ошибке.



    Теперь необходимо исправить ошибку. Для этого скачиваем файл из репозитория для редактирования:



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





    После редактирования, панель Pending Changes в Visual Studio сама покажет список файлов, которые претерпели изменения.



    Поскольку мы исправляли ошибку, необходимо сделать запись об этом:



    После того как отметили исправленную ошибку и добавили комментарий, можно смело копировать файлы в репозиторий:





    Теперь можно убедиться, что статус ошибки изменен, и получить дополнительную информацию о подробностях исправления.



    Еще один способ работать с TFS

    Получить доступ к рабочим элементам проекта, можно используя web интерфейс. Для этого необходимо просто использовать адрес вашего сервера:







    Данный метод может оказаться наиболее эффективным для людей, которые не привыкли работать с Visual Studio. Так же есть возможность использовать Excel и Microsoft Project.

    Сборки в TFS 2010


    Для полного (минимального) комплекта не хватает только научиться работать со сборками. С этим пробелом и призвана бороться данная глава статьи.

    Для начало необходимо определить параметры сборки. Для этого воспользуемся уже знакомой панелью Team Explorer в Visual Studio.





    Тут я хочу немного рассмотреть возможные параметры.

    Особый интерес представляет вкладка Trigger. На этой вкладке вы можете задать события, на основе которых будут собираться сборки:



    • Manual – сборка задается вручную, по требованию.
    • Continuous Integration – сборка происходит сразу после check-in’а (после копирования файлов в репозиторий). Данный метод очень эффективен, если вы хотите делать сборки не дожидаясь объединения изменений.
    • Rolling builds – метод, при котором все изменения будут собираться пока выполняется предыдущая сборка. Данный метод рекомендуется использовать, если у вас очень большой проект и сборка занимает много времени (больше, чем скорость с которой вносятся изменения).
    • Gated Check-in – данный метод позволяет быть уверенным, что все изменения корректно компилируются, до того как файлы попадут в основной репозиторий.
    • Scheduled – метод, при котором вы задаете расписание, по которому происходят сборки. Например, во многих компаниях хорошей практикой является создание ежедневных сборок.


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

    Следующей важной вкладкой при настройке сборки является вкладка — Build Defaults. Здесь необходимо указать папку, в которую будет помещен результат после сборки.



    Теперь вы можете сохранить параметры сборки и убедиться, что она стала доступна в панели Team Explorer. Давайте добавим новую сборку в очередь на выполнение.







    Если вы дважды кликните по сборке в очередь, то увидите подробную информацию о выполнении.



    Через некоторое время появится и результат.



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

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

    На этом я заканчиваю статью посвященную TFS и желаю вам побольше интересных проектов!
    И самое главное – не забывайте получать удовольствие от программирования!

    Если Вам понравилась статья, проголосуйте за нее тут

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 41

      +1
      Это круче, чем я думал. Спасибо за статью, вы меня заинтересовали TFS'кой!
        +1
        Мне тут мержить очень много пришлось в последнее время.
        В TFS 2008.
        Это писец просто, как глючит мержилка. Перешел на Araxis Megre ибо глюки достали.
          0
          Какие ощущения от нового TFS?
          P.S. коммент написал, а самое главное забыл. Пойду спать…
            0
            Работать с таким инструментом очень комфортно!
            0
            Есть еще такая штука как DiffMergе :)
            +5
            Статья отличная, правда; а вот сам TFS — говно говном, уж извините.
            Плотно поработал с 2008, не знаю, может в 2010 и подлечили какие-то косяки, но в целом капец. Работа с сорс контролом на уровне VSS6.0 1997го года выпуска, постоянные проблемы с чекаутом, в 2005 стодии то пропадает, то появляются кнопки History и Annotate (типа blame в svn), работа через VPN превращается в ад и израИль.

            Веб-интерфейс, кстате, тоже — туши свет; не работа, а #бля стоя в гамаке на лыжах. Про мерж уже сказали: диффы детектит препогано.
              +1
              Честно сказать я сам имею неприятный опыт с предыдущими версиями, и всегда использовал SVN. Но после беглово обзора и написания статьи я остался очень доволен работой TFS 2010, хотя пока свои текущие проекты не перевел. Постараюсь использовать TFS на серьездном проекте, потом опишу полученый опыт.
                0
                TFS все еще требует постоянного коннекта к серверу для check-out?
                TFS все еще ставит дибильные read-only аттрибуты на файлы?

                  0
                  TFS все не показывает иконки изменения на папках, только на файлах?
                  TFS все еще требует явную check-out операцию через свою IDE (Studio/TeamExplorer), чтобы заметить изменения в файлах?
                    –1
                    самое фиговое, что когда эту дурь сцепляешь с чем-нибудь через mssccpi провайдер (или как он там пишется), все условия типа комментария на check-in, втупую игнорируются
                0
                Знакомые говорят, что различия между 2008 и 2010 TFS по скорости и удобству работы — существенные.
                0
                Кстати, кто-нибудь знает, как поставить студию без Team Explorerа?
                Раньше хоть птица была при установке — ставить его или нет?

                Удаление всех *teamfoundation* файлов после установки студии, но перед первым запуском — дергает windows installer на repair…

                Setup подписан цифровой подписью, выкинуть team-explorer компонент нельзя.

                Но должен же быть какой-то способ…
                  0
                  извиняюсь, но это кликодрочерство…
                    +3
                    Неплохая попытка, но:

                    1. Про source control — только о том куда кликать, ничего про более сложные варианты работы — множественное ветвление, слияние исходников — короче, про командную работу ни слова.
                    2. Отслеживание ошибок — не показан жизненный цикл процесса, что из себя представляет работа над ошикой, как переходит ответственность. Много малочитаемых картинок, мало внятных слов.
                    3. Перечитайте, исправьте опечатки и грамматику.

                    Итак, картинок много, сухого остатка — мало, увы. Но начало хорошее, есть куда совершенствоваться :)
                      0
                      «1. Про source control — только о том куда кликать, ничего про более сложные варианты работы — множественное ветвление, слияние исходников — короче, про командную работу ни слова.»
                      Каждой главе статьи, если по нормальному писать, то надо посветить главу книги.

                      «2. Отслеживание ошибок — не показан жизненный цикл процесса, что из себя представляет работа над ошикой, как переходит ответственность. Много малочитаемых картинок, мало внятных слов.»
                      Причина 2 (статья расчитана на начинающих)

                      При написании статьи я проштудировал интернет и вообще ничего не нашел о TFS 2010 на русском.

                      Цель статьи — не научить гуру новым фичам и сложным задачам, а показать начинающим, с чего начать, кто он такой вообще, этот TFS?.. В общем то, все этоя в самом начале статьи указал, наверное вы просто не внимательно читали, если возникли такие притензии.
                        +2
                        Ну так начинающим надо показывать не как кнопочки кликать, а для начала рассказать — что это вообще за зверь, основы, так сказать, дать… а формочки-кнопочки-окошки — это следствие.
                        Ибо кто новичок в данном случае? Если человек, переходящий на новую версию — то это явно не для него, он и так знает что это за зверь и куда там идти, чтобы файл зачекаутить. Если человек пользовался только сторонними тулзами — тут вот и надо рассказать с основ и уже заканчивать — да, окошками.
                        Считаю, это могло быть неплохим примером работы, типа «методички по лабораторной», но никак не кратким введением в предмет.
                        Так что есть куда двигаться :)
                        –1
                        для этого книжка есть на русском, еще по tfs 2005, там все очень хорошо расписано, как это должно работать
                        а вообще это все имеет смысл если техпроцесс отлажен
                        а для маленьких проектов vss за глаза хватает, ну и может быть таблички на sharepoint со списком change request'ов
                        0
                        перенесите плиз пост в блог Visual Studio, из личного блога пост на главную Хабра не выходит
                          0
                          У меня прав нет. Если вы мне поможети, то буду очень признателен.
                          0
                          Статья написана хорошо и понятно, но как ни крути TFS — создание сатаны
                            +1
                            На предыдущей работе использовал TFS на полную катушку.
                            Очень понравилось — как мне (руководителью управляющему разработкой), так и разработчикам (потому как целиком и полностью работали на Microsoft-технологиях), даже аналитики вели управление требованиями в TFS (допилили некоторые формы под себя, ну и частично русифицировали).

                            Даже для заказчика были плюсы — которые выражались в том, что еженедельный билд который им отдавался сопровождался реальным Patch-notes (а за реальным описанием измерений и четким отражением работы я следил очень жестко).

                            И хотелось бы заметить — что установка TFS была глобальной проблемой (так как требования там были просто удивительные).

                            PS Очень радует что система развивается и становиться доступнее и ее использование упрощается, но к сожалению я уже ушел от Microsoft-решений.
                            • UFO just landed and posted this here
                                +1
                                Просто — копируете БД из MSSQL, а потом при настройке TFS выбираете не Basic а Upgrade.
                                0
                                Судя по статье ничего нового в TFS 2010 относительно 2008 не появилось (хотя конечно статья не про то была). Хотя в некоторых местах интерфейс поинтереснее стал. Кстати, TFS 2010 с VS 2008 совместим?
                                  0
                                  Просто автор описал то, что было в любой версии TFS.
                                  В 2010 появилось много интересных фич связанных с тестированием.
                                  +2
                                  Самый значимый минус здесь — это астрономическая, по нашим меркам, цена. Во-первых сам пакет стоит оло-ло, во-вторых по-хорошему, на сколько я знаю, клиентский доступ в TFS платен для всех кроме пользователей Visual Studio Team Edition, я могу ошибаться, но даже крупные наши компании не всегда идут на чесную покупку\подписку всей кухни из TFS + N * VisualStudio, не говоря уже про компании средних\малых масштабов.
                                    0
                                    Клиентский доступ бесплатен.
                                    Вопрос цены для компаний всерьез занимающихся платформой MS обычно не стоит, т.к. они получают TFS и VS по партнёрской программе.
                                      0
                                      Возможно я сделал не верный вывод из фразы «Лицензии клиентского доступа (CAL) для версий не Team Edition Visual Studio доступны по рекомендованной цене в US$499».
                                        0
                                        Да, вы правы — я Team Edition прочитал как Team Suite.
                                        А для VS Professional и младше — действительно требуется CAL.
                                      0
                                      По моим наблюдениям, «астрономической» ценой у нас называют любую отличную от нуля. Рассматривайте цену ПО в соотношении зарплаты ваших разработчиков, возьмите трехлетний период.
                                        +1
                                        Я с вами соглашусь) Но по моим наблюдениям, у нас (Украина) любой продукт с ценой отличной от нуля, даже в самых уважающих себя компаниях покупают в пропорции n много-меньше m, где n- колво купленных копий, m- кол-во реально используемых копий. Не пугают даже облавы налоговиков (
                                      0
                                      Хорошая статья, спасибо за неё! Как раз вчера пытался объяснять знакомой как пользоваться TFS — теперь могу показать ей эту статью :)
                                        0
                                        Если, кто-то заинтересовался TFS 2010, то рекомендую почитать:
                                        Бесплатные главы книги «Professional Application Lifecycle Management with Visual Studio 2010» от Apress
                                        msug.vn.ua/blogs/techbooks/archive/2010/04/15/Professional-Application-Lifecycle-Management-with-Visual-Studio-2010.aspx
                                        0
                                        Кто-нть пытался перенести репозиторий Subversion в TFS?
                                          0
                                          На встрече по запуску VS2010/TFS/etc., я задал Брайану Харри вопрос о том, видит ли он конкуренцию в плане тех фирм, которые предпочитают DVCS, отдельные web-facing трекеры, и т.д. На что он сказал что есть разница между системами для команд и системами для одиночных разработчиков, и что TFS тартетит команды.

                                          И не спрашивайте меня что это значит. :|

                                          Что касается прогрессивных консалтингов, то они будут или на Git или на Mercurial. Ну, часть будет на Subversion. А TFS… идеально пойдет для больших фирм-любителей CMMI. Все довольны. :)
                                            0
                                            шаблон Scrum был еще для TFS 2005
                                            спецификации XML-шаблонов открыты, можно доточить процесс под свои реалии
                                              0
                                              Дело тут совсем не в процессах. Просто, если коротко, есть два типа компаний — в одних работает небольшое кол-во действительно талантливых разработчиков, которые интересуются предметом и чьей целью действительно является постоянно повышать свою эффективность. Для таких ребят один набор тулзов, и процессы у них либо гибкие либо отсутствуют вообще. Другая группа — это большие компании с низкоквалифицированной и незаинтересованной рабочей силой, которой нужно жестко управлять менеджерской прослойке. Для таких компаний созданы другие инстументы и более «тяжелые» процессы разработки, где больше церемонии и регламента.

                                              Каждому своё :)
                                            0
                                            Эх, уже 2010 TFS вышел, а мы еще 2005 используем… Везет некоторым, могут себе позволить угнатся за новинками. А в целом от TFS очень положительное впечатление осталось
                                              0
                                              Хорошая статья, особенно для первого ознакомления
                                                0
                                                Подскажите в чем отличия workspace типа local от типа server. При серверном типе воркспейса какой жизненный цикл файлов которые подвергаются правке?

                                                Only users with full accounts can post comments. Log in, please.