Спонсор: Microsoft
Опубликован: 25.03.2010 | Доступ: свободный | Студентов: 805 / 25 | Оценка: 4.43 / 3.71 | Длительность: 10:46:00
Дополнительный материал 1:

Руководства

< Лекция 18 || Дополнительный материал 1: 12345678910111213 || Дополнительный материал 2 >

Распределенная и удаленная разработка

  • Убедитесь, что объема диска достаточно для реализации прокси.
  • Создайте задание для получения последних файлов по расписанию.
  • Регулярно проверяйте счетчики производительности прокси и журнал событий.
  • Настраивайте executionTimeout соответственно размеру файла и ширине канала.
  • Отключайте прокси, если он не будет работать продолжительное время.
  • Скрывайте рабочие области, чтобы избежать ненужного перемещения файлов.
Убедитесь, что объема диска достаточно для реализации прокси

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

Дополнительные ресурсы

Создайте задание для получения последних файлов по расписанию

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

Дополнительные ресурсы

Регулярно проверяйте счетчики производительности прокси и журнал событий

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

Вот список счетчиков производительности, за которыми нужно следить:

  • Текущий размер кеша ( Current Cache Size ).
  • Всего попаданий в кеш ( Total Cache Hits ).
  • Всего запросов на загрузку ( Total Download Requests ).
  • Всего файлов в кеше ( Total Files in Cache ).
  • Всего пропусков кеша ( Total Cache Miss ).

Счетчики производительности регистрируются при установке прокси. Они рассчитаны на работу с несколькими экземплярами, то есть, каждому уровню приложений, заданному в файле Proxyconfig, соответствует свой набор счетчиков. Собирая показания счетчиков, вы получите общую картину производительности прокси-сервера.

TFS Proxy сохраняет статистические данные о производительности кеша в XML -файле ProxyStatistics.xml. Вы вольны задать временной интервал для сохранения этих данных. Файл ProxyStatistics.xml находится в подпапке App_Data папки установки прокси.

Дополнительные ресурсы

Настраивайте executionTimeout соответственно размеру файла и ширине канала

Если вам предстоит загрузка больших файлов по сети с невысокой пропуск ной способностью (менее 3 Мбит/с), исправьте значение параметра executionTimeout в файле Web.config, чтобы сократить вероятность истечения срока передачи. Значение по умолчанию равно одному часу:

<httpRuntime executionTimeout="3600"/>.

Дополнительные ресурсы

Отключайте прокси, если он не будет работать продолжительное время

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

Дополнительные ресурсы

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

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

Чтобы скрыть папки в рабочей области, выполните следующие действия:

  1. В Visual Studio в меню File раскройте подменю Source Control и выберите команду Workspaces.
  2. В диалоговом окне Manage Workspaces выберите рабочую область, к которой хотите применить сокрытие, и щелкните кнопку Edit.
  3. В диалоговом окне Edit Workspaces выделите в списке Working Folders сопоставление, которое хотите скрыть, или создайте новое сопоставление.
  4. Щелкните столбец Status и измените его значение с Active на Cloak.
  5. Щелкните OK, чтобы закрыть диалоговые окна Edit Workspaces и Manage Workspaces.

Помните, что файлы не будут локально скрыты, пока вы повторно не выполните команду get для всей рабочей области.

Дополнительные ресурсы

Переход из других версий
  • Переходите на Team Foundation Server Source Control при помощи VSS Converter
  • Переходите на Team Foundation Server Source Control из других систем управления исходным кодом
Переходите на Team Foundation Server Source Control при помощи VSS Converter

В комплекте Team Foundation Server поставляется инструмент VSS Converter, позволяющий переносить файлы, папки, историю версий, метки и пользовательскую информацию из БД Visual SourceSafe в систему управления исходным кодом Team Foundation Server.

Следует знать, что конвертер имеет некоторые ограничения, например:

  • Не сохраняется история общего доступа к файлам, поскольку система Team Foundation Server не поддерживает общий доступ. Перемещение совместно используемого файла сводится к копированию этого файла в конечную папку.
  • Не сохраняется история ветвления.
  • Система Team Foundation Server не поддерживает закрепление ( pinning ). Закрепленные файлы переносятся с созданием двух меток.
  • Во время переноса не сохраняются временные метки, связанные с действиями.

Дополнительные ресурсы

  • Дополнительную информацию о перемещении файлов вы найдете в разделе "Как осуществить перенос исходного кода из Visual SourceSafe " этой книги.
Переходите на Team Foundation Server Source Control из других систем управления исходным кодом

Вы можете вручную выполнить экспорт файлов из предыдущей системы управления версиями, а затем импортировать их в систему управления версиями TFS. Если вам нужно сохранить историю файлов или другие атрибуты предыдущей системы, воспользуйтесь инструментарием TFS Migration and Synchronization Toolkit, который можно загрузить по адресу http://www. codeplex.com/MigrationSyncToolkit. При помощи этого инструментария вы сможете написать собственное средство для выполнения миграции.

В данный момент корпорация Microsoft ведет работу по созданию конвертера ClearCase. О выпуске конвертера будет объявлено дополнительно в блоге TFS Migration, расположенном по адресу http://blogs.msdn.com/tfs_migration.

Существует конвертер, созданный компанией Component Software, который совместим с системами GNU RCS, CS-RCS, GNU CVS, Subversion (SVN) и Visual SourceSafe (VSS) . Дополнительные ресурсы

Управление проектами и рабочими областями
  • Для изоляции одного разработчика используйте рабочие области, а не ветвление.
  • Удаляйте и переименовывайте файлы в системе управления исходным кодом, а не в проводнике Windows.
  • Удаляйте и переименовывайте файлы только при открытом решении.
  • Создавайте один командный проект на приложение, если хотите переносить ресурсы от версии к версии.
  • Создавайте командный проект для каждой версии, если хотите с каждой новой версией начинать все заново.
  • Используйте ветвление для обеспечения совместного доступа к исходному коду и двоичным файлам.
  • Не используйте сопоставление для поддержки зависимостей между различными проектами.
  • Сопоставляйте рабочие области на корневом уровне командного проекта.
  • Используйте уникальный путь к локальной папке на общих компьютерах.
  • Сопоставляйте только части дерева исходного кода.
  • Структурируйте дерево исходного кода с учетом ветвления.
Для изоляции одного разработчика используйте рабочие области, а не ветвление

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

Чтобы создать вторичную рабочую область, выполните следующие действия:

  1. 1. В окне обозревателя Source Control выберите в раскрывающемся списке Workspace вариант Workspaces.
  2. В диалоговом окне Manage Workspaces щелкните кнопку Add.
  3. В диалоговом окне Add Workspace введите имя новой рабочей области, например, ИзолированнаяРабота. Добавьте комментарий с описанием цели создания рабочей области.
  4. В списке Working Folders задайте для рабочей области состояние Active. Укажите папку с исходным кодом, которую нужно включить в рабочую область. Это может быть корневая папка командного проекта или любая вложенная папка. Задайте путь на локальном компьютере, где будут храниться файлы рабочей области.
  5. Щелкните OK и Close, чтобы создать изолированную рабочую область. Чтобы извлечь последнюю версию исходного кода и начать работать с ним в изолированной рабочей области, выполните следующие действия:
    1. Убедитесь, что в окне Source Control в раскрывающееся списке Workspace выбрано имя нужной рабочей области.
    2. Выберите корневую папку командного проекта (или вложенную папку, если вам нужна только часть дерева исходного кода), щелкните ее правой кнопкой и выберите команду Get Latest Version.

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

Удаляйте и переименовывайте файлы в системе управления исходным кодом, а не в проводнике Windows

Если вам надо удалить или переименовать файлы, добавленные в систему управления исходным кодом, это следует делать в обозревателе Source Control, запустив Tf.exe из командной строки. Нельзя удалять и переименовывать файлы в проводнике Windows, так как при этом нарушается синхронизация файлов локальной рабочей области с файлами сервера управления исходным кодом.

Порядок действий при удалении файла или папки при помощи Source Control Explorer:

  1. В окне Source Control выберите файл или папку.
  2. Щелкните правой кнопкой выбранный файл или папку и выберите команду Delete.

Слева появится значок, символизирующий удаление объекта. В столбце Pending Change отобразится статус Delete. Удаление произойдет при очередном возврате правок.

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

Особенно удобно использование команд Tf move, delete и rename при работе с несколькими файлами или папками одновременно. В обозревателе Source Control можно перемещать, переименовывать или удалять только по одному файлу или папке.

Дополнительные ресурсы

Удаляйте и переименовывайте файлы только при открытом решении

Удаление и переименование файлов в Solution Explorer следует выполнять при открытом решении. Не удаляйте их непосредственно с диска. Это гарантирует, что при следующем возврате незавершенных изменений система управления исходным кодом TFS сохранит синхронизацию.

Дополнительные ресурсы

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

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

Используя один проект для каждого приложения, учитывайте следующее:

  • Для параллельных выпусков приходится использовать общие схемы рабочих элементов, политики возврата после правки и справочник по процессу.
  • Затруднено составление отчетов. Поскольку по умолчанию отчеты составляются для всего проекта, вам придется установить фильтрацию по конкретным выпускам.
  • Если количество приложений исчисляется сотнями и у каждого из них есть собственный проект, вы рискуете снизить производительность TFS и выйти за пределы масштабируемости.
  • Со временем, после нескольких выпусков, у вас набирается много "багажа". Проще всего решить эту проблему, создав новый проект с ответвлением в него только нужного вам кода.

Дополнительные ресурсы

< Лекция 18 || Дополнительный материал 1: 12345678910111213 || Дополнительный материал 2 >
Александр Будник
Александр Будник
Израиль, Иерусалим
Pavel Pelevin
Pavel Pelevin
Украина, Одесса