Оптимизация рабочей области
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Если у вашей команды есть большая и сложная база кода, вы можете оптимизировать рабочую область, чтобы содержать только необходимые файлы. Оптимизация рабочей области повышает производительность, уменьшает сетевой трафик и сокращает дисковое пространство, необходимое на компьютере разработки.
Примечание.
Ветвление и приостановка или отложение являются предпочтительными способами изоляции различных рабочих усилий в отношении одной и той же базы кода. Однако если ни один из этих подходов не соответствует вашим потребностям, можно сопоставить одну и ту же папку сервера в нескольких рабочих областях. В большинстве случаев это не нужно делать.
Если вы сопоставляете одну и ту же папку сервера в нескольких рабочих областях, помните, что вы можете иметь отдельные и разные ожидающие изменения в одном файле, хранящейся в каждой рабочей области.
Оптимизация имен папок
Если вы еще не используете ветви, поместите весь код в вложенную папку с именем Main на сервере, например $/TFVCTeamProject/Main/. Затем вы будете готовы, когда ваша команда растет достаточно большой, чтобы требовать ветвей для управления его базой кода. На компьютере разработки следует использовать короткий понятный путь к папке, соответствующий структуре проекта, например C:\Users\YourName>\Source\<Workspaces\TFVCTeamProject\Main\SolutionName.
Дополнительные советы по эффективным именам папок:
Оставьте все имена папок, вложенных папок и файлов короткими, чтобы упростить работу и избежать потенциальных проблем с длинным путем, которые могут возникать с некоторыми типами проектов кода.
Избегайте пробелов в именах файлов и папок, чтобы упростить выполнение операций командной строки.
Оптимизация рабочей области
Если база кода вашей команды большая, можно избежать затрат времени, пропускной способности сети и локального дискового пространства, оптимизируя сопоставления папок рабочей области. Вы можете использовать явные, неявные, неявные и не рекурсивные сопоставления папок, чтобы упростить и быстро создать удобную рабочую область.
При сопоставлении папки с рабочей областью убедитесь, что вы выбрали папку достаточно высокого уровня в дереве кода, чтобы получить все файлы, необходимые для создания локальной сборки, но достаточно низко, что вы не получаете больше файлов, чем вам нужно. В следующем примере рабочей области можно просто сопоставить $/SiteApp/c:\code\SiteApp\. Простая рабочая область, как это, неявно сопоставляет все папки в $/SiteApp/Main/ с рабочей областью, включая необходимые файлы.
Основная проблема с этим подходом заключается в том, что он предоставляет вам множество файлов, которые вам не нужны, и поэтому тратит время и ресурсы. Например, если вы не разрабатываете настраиваемые процессы сборки, вам не нужно $/SiteApp/BuildProcessTemplates/.
С течением времени вы ожидаете, что база кода команды будет расти, и вы не хотите автоматически скачивать каждый новый бит кода, добавленный в $/SiteApp/Main/. Так как команды, работающие в других папках, изменяют эти файлы, при получении последних файлов с сервера могут возникнуть длительные задержки в ожидании обновлений файлов, которые вам не нужны.
Вы можете оптимизировать рабочую область для создания более специализированных сопоставлений папок.
В Обозреватель системы управления версиями Visual Studio щелкните стрелку раскрывающегося списка рядом с рабочими областями и выберите рабочие области.
В диалоговом окне "Управление рабочими областями" выберите рабочую область, которую требуется оптимизировать, и нажмите кнопку "Изменить".
В диалоговом окне "Изменить рабочую область" измените сопоставления рабочих областей.
Например, для разработки кода требуется проект кода из проекта DinnerNow . Вместо явного включения каждого проекта кода в решение, например $/Fabrikam TFVC/DinnerNow/feature3, можно сопоставить $/Fabrikam TFVC/DinnerNow и таким образом неявно сопоставить все вложенные папки, содержащие необходимые проекты кода.
Вам не нужны файлы в $/Fabrikam TFVC/DinnerNow/feature1 или $/Fabrikam TFVC/DinnerNow/feature2, но поскольку они неявно сопоставлены, можно использовать два скрытых сопоставления, чтобы исключить эти папки из рабочей области.
Ваша команда поддерживает и иногда расширяет набор некоторых фундаментальных библиотек. Вам потребуется почти все текущие библиотеки в этой папке, и ожидается, что вам нужны библиотеки, которые ваша команда добавляет туда в будущем, поэтому вы сопоставляете $/Fabrikam TFVC/Main/.
Вам нужен только небольшой сегмент большой папки , $/Fabrikam TFVC/Main/ClassLibrary, поэтому вы сопоставляете ее как закрытую, а затем явно сопоставляете только нужную вложенную папку, $/Fabrikam TFVC/Main/ClassLibrary1.
Вам нужны некоторые файлы непосредственно в ClassLibrary1, но не требуется содержимое вложенных папок, поэтому примените не рекурсивное сопоставление к папке $/Fabrikam TFVC/Main/ClassLibrary1/ .
Вы также можете сопоставить папки с рабочими областями, щелкнув правой кнопкой мыши ветвь или папку в Обозреватель системы управления версиями и выбрав "Дополнительное>сопоставление" с локальной папкой. Или выберите ссылку "Не сопоставлено" рядом с локальной папкой в верхней части Обозреватель системы управления версиями. В диалоговом окне "Карта" выберите локальную папку для сопоставления и выберите поле "Рекурсивный проверка", если вы хотите сделать сопоставление рекурсивным в вложенных папках.
На следующих снимках экрана показаны результаты применения этих оптимизаций рабочих областей на дереве сервера в Обозреватель системы управления версиями и локальных файлов на компьютере.
Использование рабочих областей для изоляции ветвей
Если в организации используются ветви для изоляции риска в базе кода, можно создать отдельную рабочую область для каждой ветви, в которых вы работаете. Вы продолжаете свою работу в небольшой команде, но используете несколько рабочих областей для управления работой, которую вы выполняете в нескольких филиалах.
Например:
Разработка функций: вы изменяете рабочую область по умолчанию, чтобы работать в
Extranet
ветви, где вы участвуете в разработке веб-сайта, доступного для клиентов.Интеграция и стабилизация: вы создаете две новые рабочие области для работы в
Test
Dev
и ветвях, где вы сотрудничаете с другими разработчиками и тестировщиками для стабилизации кода во время интеграции.
Вы управляете работой в трех рабочих областях, каждая из которых сопоставляет папки в ветви на сервере с папками на компьютере разработки.