Заметки о выпуске Team Foundation Server 2017 с обновлением 1


Сообщество разработчиков | Требования к системе и совместимость | Условия лицензии | Блог по TFS DevOps | Хэши SHA-1 | Заметки о выпуске последней версии Visual Studio 2019


Примечание

Это не последняя версия Team Foundation Server. Вы можете скачать последний выпуск на странице заметок о текущем выпуске для Team Foundation Server 2018 с обновлением 3. Язык этой страницы можно изменить, щелкнув значок глобуса в нижнем колонтитуле страницы и выбрав нужный язык.


Эта статья содержит сведения о Team Foundation Server 2017 с обновлением 1. Нажмите кнопку, чтобы скачать файлы.

Скачать Team Foundation Server 2017 с обновлением 1

Дополнительные сведения о Team Foundation Server 2017 см. на странице .

Дополнительные сведения см. на странице по установке TFS.


Значок " Дата выпуска: 7 марта 2017 г.

Сводка новых возможностей Team Foundation Server 2017 с обновлением 1


Сведения о новых возможностях Team Foundation Server 2017 с обновлением 1

Более персонализированные возможности работы

Домашняя страница персонализированной коллекции

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

Переработанная страница коллекции
Рис. 1. Измененная страница коллекции

Проект получает идентификатор

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

Усовершенствования управления версиями

Изменения разрешений для администратора репозитория

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

  • Управление разрешениями: добавление и удаление пользователей и разрешений.
  • Создание: создание репозитория.
  • Удаление: удаление репозитория.
  • Переименование: переименование репозитория.
  • Изменение политик: настройка политик ветви.
  • Удаление блокировок других пользователей: удаление блокировок ветви, заданных другим пользователем.

Эти разрешения можно применять как к отдельным репозиториям, так и ко всем в проекте.

Улучшения политики ветвей

В разделе Политики(рис. 2) обязательные и необязательные политики теперь группируются в разделы. Это позволяет точно узнать, какие политики необходимы для завершения запроса на включение внесенных изменений. Необходимые рецензенты также объединены в разделе требований и будут отмечены как допустимые только после утверждения всех требуемых рецензентов.

Раздел
Рис. 2. Раздел "Политики"

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

Диалоговое окно завершения
Рис. 3. Диалоговое окно выполнения запроса

Поддержка исключений файлов в требуемой политике рецензентов

Указывая необходимых рецензентов для определенных путей к файлам, можно исключать пути, добавляя к ним префикс "!". Например, его можно использовать для исключения папки "docs" из необходимого вам стандартного утверждения (рис. 4) .

Поддержка исключений файлов
Рис. 4. Поддержка исключения файлов

Импорт репозитория

Теперь вы можете импортировать репозиторий Git из GitHub, BitBucket, GitLab и других расположений. Импортировать данные можно в новый или существующий пустой репозиторий. Дополнительные сведения см. в статье Import a Git repo (Импорт репозитория Git).

Добавление файла .gitignore во время создания репозитория

При создании репозитория Git теперь можно добавить и связать с репозиторием файл .gitignore. Файл .gitignore указывает файлы, которые следует игнорировать Git при выполнении фиксации.

В диалоговом окне можно выбрать один из множества доступных шаблонов .gitignore (рис. 5) .

Добавление .gitignore во время создания репозитория
Рис. 5. Добавление файла GITIGNORE при создании репозитория

Выборочный отбор и отмена изменений

Мы добавили две новых функции, упрощающие перенос или возврат изменений с веб-портала: выборочный отбор и отмена изменений.

Команда выборочного отбора используется для переноса изменений в запросе на включение внесенных изменений в несколько ветвей. Распространенным вариантом является необходимость исправления ошибки, причем сделать это требуется и в основной программе. После создания запроса на вытягивание, содержащего исправление для соответствующей ветви, вы сможете легко отобрать входящие в нее изменения для главной ветви. Дополнительные сведения см. в статье Copy changes with cherry-pick (Копирование изменений с помощью выборочного отбора).

Можно отменить изменения по выполненному запросу на включение внесенных изменений. Найдите запрос на включение внесенных изменений с неверным изменением, нажмите Revert (Отменить изменения) и выполните действия по созданию запроса на включение внесенных изменений, в котором нежелательные изменения будут удалены. Дополнительные сведения см. в статье Undo Changes with Git (Отмена изменений в Git).

Настраиваемая сравниваемая ветвь

Теперь для сравниваемой ветви можно задать значение, отличное от ветви по умолчанию. Этот параметр сохраняется на уровне пользователя. В основе запросов на вытягивание и ветвей, созданных на странице Ветви, находится ветвь, заданная в качестве сравниваемой. Дополнительные сведения см. в статье Manage your branches (Управление ветвями).

Поиск файла или папки

На странице Code (Код) в проекте Team Services можно быстро найти файл или папку в репозитории. В списке результатов будут отображены элементы из текущей папки с указанием файлов и папок в репозитории.

Чтобы найти в любом репозитории Git файлы или папки, перейдите в поле пути (рис. 6) и начните ввод с клавиатуры.

Поиск файла или папки
Рис. 6. Поиск файла или папки

Подтверждение при удалении репозиториев

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

избранные репозитории

Теперь вы можете включить часто используемые репозитории в список "Избранное". В средстве выбора репозитория (рис. 7) вы увидите вкладки Все репозитории и Избранное. Щелкните значок звездочки, чтобы добавить репозиторий в список "Избранное".

Избранное репозитория
Рис. 7. Избранные репозитории

Поиск файла или папки в журнале фиксации

Теперь вы можете искать в репозитории файлы и папки так же, как и на вкладке "Файлы", и просматривать по ним журнал фиксаций. Чтобы найти в любом репозитории Git журналы по файлам или папкам, перейдите на вкладке "Журнал" в поле пути (рис. 8) и начните ввод с клавиатуры.

Журнал фиксаций
Рис. 8. Журнал фиксаций

Улучшения страницы фиксаций

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

Пример страницы сведений о фиксации (рис. 9) :

Сведения о фиксации
Рис. 9. Сведения о фиксации

Пример страницы журнала фиксаций (рис. 10) :

Страница журнала фиксаций
Рис. 10. Журнал фиксаций

Поиск фиксаций в ветвях

Теперь вы можете искать фиксации в указанной ветви или теге. Для этого на странице сведений о фиксациях нажмите кнопку Искать в ветвях(рис. 11) .

Поиск фиксации
Рис. 11. Поиск фиксаций

В окне можно выбирать для просмотра теги и ветви, даже если они не содержат искомую фиксацию (рис. 12) .

Диалоговое окно поиска фиксации
Рис. 12. Диалоговое окно поиска фиксаций

Панель инструментов для управления обсуждением

Markdown — это многофункциональный инструмент для добавления комментариев в запросы на включение внесенных изменений, но его синтаксис сложно запомнить. Чтобы облегчить эту задачу, мы добавили в элемент управления обсуждением специальную панель инструментов (рис. 13) . Она позволяет вставить нужный синтаксис Markdown для типичного форматирования. Заголовки, полужирный шрифт, курсив, ссылки, код, списки и такие функции, как @ и упоминания через #, можно добавить с помощью новых элементов управления панели инструментов. Используйте сочетания клавиш, чтобы применить жирный шрифт (CTRL+B), курсив (CTRL+I) и создавать ссылки (CTRL+K).

Панель инструментов обсуждения
Рис. 13. Панель инструментов обсуждения

Улучшения в комментариях к запросам на вытягивание

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

Комментарий к запросу на вытягивание
Рис. 14. Улучшения в комментариях к запросам

Просмотр запросов на вытягивание для фиксации

Теперь вы можете просмотреть все связанные запросы на включение внесенных изменений для фиксации на странице Сведения о фиксации. На изображении (рис. 15) можно увидеть следующее:

  • В связанном раскрывающемся списке запросов на включение внесенных изменений есть два запроса, связанных с этой фиксацией.
  • Запрос на включение внесенных изменений №2 перенес эту фиксацию в мастер-копию.
  • Та же фиксация была внесена в ветвь 4 с помощью запроса на вытягивание № 1.
Запрос на вытягивание в фиксациях
Рис. 15. Запросы на вытягивание в фиксациях

Отслеживание запроса на включение внесенных изменений

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

Выполнение запроса на вытягивание
Рис. 16. Подписка на запрос на вытягивание

Перезапуск слияния запросов на включение внесенных изменений

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

Выполнение заблокированных или отклоненных запросов на включение внесенных изменений

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

Политика проверки кода
Рис. 17. Политика проверки кода

Форматирование Markdown в описании запроса на включение внесенных изменений

Оживите описание запроса на включение внесенных изменений с помощью Markdown. Хорошо знакомая вам поддержка Markdown в запросах на включение внесенных изменений теперь доступна в описаниях запросов на включение внесенных изменений.

Вложения в обсуждениях запросов на включение внесенных изменений

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

Вложения в обсуждениях запроса на вытягивание
Рис. 18. Вложения в обсуждениях к запросам на вытягивание

Выделение запросов на включение внесенных изменений с обновлениями

Теперь отслеживание обновлений в запросах на вытягивание стало еще проще. В представлении списка (рис. 19) запросы, имеющие изменения с момента их последнего просмотра, отображаются с новым столбцом, где показана сводка обновлений.

Обновленные файлы запроса на вытягивание
Рис. 19. Обновленные файлы в запросах на вытягивание

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

Сводка по запросу на вытяги
Рис. 20. Сводка по запросу на вытягивание

Политика ветвей для стратегии слияния запросов на включение внесенных изменений

Мы добавили для ветвей новую политику (рис. 21) , которая позволяет задавать стратегию слияния запросов на вытягивание для каждой ветви. В прошлом решение о слиянии или сжатом слиянии принималось при завершении запроса на включение внесенных изменений. Если политика включена, она переопределит ваши настройки и применит свое требование.

Политика ветви
Рис. 21. Политика ветвей

Отображение сведений о конфликтах слияния

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

Конфликты слияния
Рис. 22. Конфликты слияния

Кнопка предварительного просмотра Markdown

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

Усовершенствования отслеживания рабочих элементов

Улучшенные возможности поиска ограниченных полей идентификации

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

Усовершенствования сборок

Откат определений сборок

Определение сборки можно откатить к предыдущей версии. Это можно сделать при редактировании определения сборки на вкладке Журнал.

Отключение синхронизации и извлечение источников в сборке

При необходимости можно отключить автоматическую синхронизацию и извлечение источников в Git. Это позволит обрабатывать операции с источниками в задаче или скрипте, а не полагаться на встроенное поведение агента. Все стандартные связанные с источником переменные, такие как Source.Version, Source.Branch и Build.SourcesDirectory, установлены.

Пустой клон Git и git-lfs (хранилище для больших файлов)

Теперь агент сборки поддерживает пустой клон Git и git-lfs (хранилище для больших файлов). Дополнительные сведения см. в разделе Страница репозитория определения сборки.

Управление версиями задач для определений сборки и выпуска

Вы можете контролировать основной номер версии задачи, выполняемой в сборке или выпуске. Это изменение позволит уменьшить количество непредвиденных ошибок, которые возникали при автоматическом обновлении версии задачи и агента. Основной номер версии задачи можно указать на вкладке Build (Сборка) определения или на вкладке Environments (Среды) определения выпуска.

При выходе дополнительного номера версии (например, с 1.2 по 1.3) в сборке автоматически появится соответствующее изменение. Но в случае выхода нового основного номера версии (например, 2.0) сборка будет заблокирована на версии 1.3 до тех пор, пока вы не измените определение и вручную не укажете новый основной номер версии. Новый основной номер версии будет обозначен флагом в определении сборки.

Оплата, необходимая для Управления пакетами

Чтобы и далее использовать управление пакетами, вам нужна подписка Visual Studio Enterprise или лицензия на управление пакетами, приобретенная в Marketplace. Дополнительные сведения о лицензиях на управление пакетами см. в этой статье.

Усовершенствования пакетов

Представления выпусков в управлении пакетами

В службу управления пакетами добавлена новая возможность — представления выпуска(рис. 23). Представления выпусков — это подмножество версий пакетов в веб-канале, которые были повышены до уровня представления выпуска. Создавая представление выпуска и предоставляя потребителям пакета общий доступ к нему, вы можете контролировать версии, от которых они зависят. Это особенно полезно в сценариях непрерывной интеграции, когда вы часто публикуете версии обновленных пакетов, но можете не объявлять или поддерживать каждую опубликованную версию.

Чтобы приступить к работе, перейдите на панель быстрого запуска в Web Access или ознакомьтесь со сведениями о представлениях выпуска для пакета CI/CD.

Представления выпуска в управлении пакетами
Рис. 23. Представления выпусков

npm в управление пакетами

Теперь веб-каналы управления пакетами поддерживают пакеты npm для разработки на Node.js и JavaScript. Кроме того, веб-каналы npm поддерживают npmjs.com в качестве вышестоящего источника с кэшированием. Эта возможность позволяет веб-каналу прозрачно использовать прокси-сервер и кэшировать пакеты с npmjs.com (дополнительные сведения см. в статье Использование пакетов с npmjs.com). Это означает, что достаточно только один раз получить определенный package@version с npmjs.com, и последующие запросы к этому пакету будут выполняться напрямую с сервера TFS. При удалении пакета из npmjs.com вы по-прежнему сможете получить его кэшированную версию из TFS.

Чтобы приступить к работе, найдите новый параметр "npm" в диалоговом окне Подключение к веб-каналу(рис. 24) .

npm в управлении пакетами
Рис. 24. Канал npm в управлении пакетами

Кроссплатформенные улучшения

Форматирование xcpretty задачи сборки Xcode

Теперь выходные данные сборки xcode можно форматировать с помощью xcpretty(рис. 25). Кроме того, xcodebuild позволяет публиковать результаты теста JUnit в Team Services. Раньше в качестве средства сборки для публикации результатов тестов нужно было применять xctool. Сейчас чтобы включить xcpretty, установите флажок Использовать xcpretty и снимите флажок Использовать xctool в разделе Дополнительно задачи Xcode.

Форматирование сборки Xcode
Рис. 25. Форматирование xcpretty

Публикация результатов теста Jenkins и покрытия кода

Задача сборки и выпуска Задание в очереди Jenkins теперь может получать результаты теста и покрытия кода из задания Jenkins или конвейера. Для этого требуется установить подключаемый модуль TFS для Jenkins 5.2.0 или более поздней версии на сервере Jenkins и настроить действие Сбор результатов для TFS и Team Services, выполняемое после сборки. Результаты, полученные из Jenkins, можно опубликовать с помощью задач сборки Публиковать результаты теста или Публиковать объем протестированного кода.

Подписывание и экспорт Xcode 8 в задаче сборки Xcode

Теперь задача Xcode поддерживает сборку ваших проектов с использованием автоматического подписывания Xcode 8 (рис. 26) . Вы можете вручную установить сертификаты и профили подготовки на сервере сборки или запустить задачу по их установке, указав параметры Содержимое файла.

Автоматическое подписывание Xcode
Рис. 26. Автоматическое подписывание Xcode

При экспорте пакета приложения (IPA) из архива (.xcarchive) Xcode 8 требует указать файл параметров (.plist) экспорта (рис. 27) . Если используется Xcode 8 или Xcode 7, задача Xcode автоматически определит метод экспорта. Можно указать метод экспорта или указать пользовательский файл PSLIST из задачи Xcode. При использовании версии Xcode, предшествующей Xcode 7, задача пытается использовать для создания пакета приложения старое средство (xcrun).

Параметры экспорта Xcode
Рис. 27. Параметры экспорта Xcode

Усовершенствования тестов

Запуск тестов, созданных в Visual Studio 2017

Задачи Развертывание агента тестирования и Запуск функциональных тестов в процессе непрерывной интеграции и развертывания (рис. 28) теперь позволяют установить агенты тестирования для Visual Studio 2017 и запускать созданные с помощью Visual Studio 2017 тесты.

Выполнение тестов
Рис. 28. Запуск тестов

Проверка ошибок из рабочего элемента

Теперь вы можете проверить ошибку, повторно запустив тесты, в которых она была выявлена (рис. 29) . Параметр Проверить находится в рабочем элементе ошибки в контекстном меню и используется для запуска соответствующего тестового случая в средстве Web Runner. В веб-средстве выполнения можно выполнить нужную вам проверку и непосредственно изменить рабочий элемент с ошибкой.

Проверка ошибок из рабочего элемента
Рис. 29. Проверка ошибок из рабочего элемента

Вспомогательные методы клиента REST для шагов теста

Теперь вы сможете создавать, изменять и удалять шаги теста (и их вложения) в рабочих элементах тестового случая. Для этого воспользуйтесь вспомогательными классами, которые мы добавили в клиент REST (см. RestApi-Sample).

Обновление существующих ошибок из Web Runner

Веб-средство выполнения теперь позволяет не только создавать новые ошибки, но и обновлять сведения об уже существующих (рис. 30) . В существующую ошибку автоматически добавляются все собранные диагностические данные, шаги для воспроизведения и ссылки для отслеживания из текущего сеанса.

Средство выполнения тестов
Рис. 30. Обновление существующей ошибки

Описание тестового случая в Web Runner

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

Описание тестового случая
Рис. 31. Описание тестового случая

Точка добавления: вкладка "Тест"

На страницу План тестирования была добавлена новая точка вклада ("ms.vss-test-web.test-plan-pivot-tabs") (рис. 32) . Она позволяет разработчикам писать расширения в виде сводной вкладки, отображаемой рядом с вкладками Тесты и Диаграммы.

Точка вклада
Рис. 32. Точка добавления

Удаление артефактов теста

В предыдущих выпусках удалять можно было только рабочие элементы. В рамках этого обновления вы можете полностью удалять артефакты теста: планы тестирования, наборы тестов, тестовые случаи, общие параметры и общие шаги. Это можно делать как в центре Тест, так и в центре Работа. Для этого нужно выбрать команду Удалить окончательно(рис. 33) в контекстном меню рабочего элемента.

Удаление артефактов теста
Рис. 33. Удаление артефактов теста

Избранное для планов тестирования

Теперь часто используемые планы тестирования можно включить в список "Избранное". В средстве выбора Планы тестирования, вы сможете просматривать свои планы на вкладках Все или Избранное(рис. 34). Щелкните значок звездочки, чтобы добавить план тестирования в список "Избранное". Избранные планы тестирования, доступны в соответствующем средстве выбора и на вкладке Избранное на новой домашней странице учетной записи. Вы также можете отфильтровать планы тестирования, воспользовавшись поиском в поле заголовка (рис. 35) .

Планы тестирования
Рис. 34. Планы тестирования
Тестирование избранного
Рис. 35. Избранные планы тестирования

Анализ влияния на тесты для управляемых автоматических тестов

Теперь в задаче VSTest версии 2.* (предварительная версия) доступен флажок анализа влияния на тесты для управляемых автоматических тестов (рис. 36) .

Анализ влияния на тестирование
Рис. 36. Анализ влияния на тесты

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

Поддержка Firefox для расширения Test & Feedback

Мы рады сообщить о выпуске расширения обратной связи по тестовой & для Firefox. Надстройку для Firefox можно скачать на сайте marketplace.

Примечание. Идет работа над поддержкой браузера Microsoft Edge — следите за обновлениями.

Усовершенствования управления выпусками

Поддержка групп переменных в выпуске

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

Откройте вкладку Библиотека в центре Сборка и выпуск и выберите + Группа переменных на панели инструментов (рис. 37) . Сейчас группы переменных можно использовать только в определениях выпуска. Дополнительные сведения о группах переменных см. в статье Определения выпуска в Microsoft Release Management.

Создайте (рис. 37) , а затем отредактируйте (рис. 38) группу переменных:

Создание группы переменных
Рис. 37. Создание группы переменных
Изменение группы переменных
Рис. 38. Изменение группы переменных

Несколько расписаний в выпусках

Хотите запланировать создание выпусков несколько раз в день? Теперь в определении выпуска можно настроить несколько запланированных триггеров (рис. 39) .

Расписание выпусков
Рис. 39. Расписание выпуска

Встроенные подключения к службам в сборке и выпуске

С помощью этой функции можно создавать подключения к службам непосредственно в определении сборки и выпуска, не переходя на вкладку Службы. Она будет автоматически включена для всех декларативно определенных расширений, таких как Docker, Jenkins, VMWare и SCVMM.

До настоящего момента определения выпуска могли связывать источники артефактов только из текущего проекта. Теперь можно связывать артефакты сборки (рис. 40) из другого проекта. При связывании артефакта в раскрывающемся списке проекта будут перечислены все проекты в учетной записи.

Артефакты сборки ссылок
Рис. 40. Связь артефактов сборки

Улучшения группы ресурсов Azure

В предыдущих выпусках задача группы ресурсов Azure не могла проверить синтаксис шаблона ARM, либо шаблон принимался, но развертывания ресурсов фактически не происходило. В новом выпуске вы можете использовать новый режим развертывания Validation Only (Только проверка). Он позволяет вам выявлять проблемы с созданием шаблона до фактического создания ресурсов Azure.

Другим усовершенствованием задачи группы ресурсов Azure является возможность выбора между инкрементным или полным развертыванием (рис. 41) . В прошлом задача развертывала шаблоны ARM в инкрементном режиме. Но она не изменяла имевшиеся в группе ресурсы, которые не были указаны в шаблоне. Полный режим удаляет ресурсы, которые отсутствуют в шаблоне. По умолчанию используется инкрементный режим.

Группы ресурсов Azure
Рис. 41. Группы ресурсов Azure

Задача Azure CLI

Новая задача Azure CLI (рис. 42) поддерживает выполнение команд Azure CLI на кроссплатформенных агентах, таких как Windows, Linux и Mac. Задача поддерживает классические подписки и подписки ARM. Она поддерживает два режима предоставления скриптов: один как связанный артефакт, а другой — как встроенный скрипт.

Задача Azure CLI
Рис. 42. Задача Azure CLI

Обновление службы поиска кода

В TFS 2017 с обновлением 1 в службу поиска кода входит Elasticsearch версии 2.4.1. Если служба поиска кода настроена на сервере TFS 2017, она будет обновлена в процессе обновления TFS. Если служба поиска кода настроена на удаленном сервере, скопируйте содержимое Пакета службы поиска, предоставленного с установщиком, на удаленный компьютер и следуйте инструкциям в файле сведений по обновлению службы поиска вручную.

Улучшение анализа кода

Задачи SonarQube для MSBuild

Теперь задачи SonarQube для MSBuild доступны из предоставляемого SonarSource расширения. Дополнительные сведения см. в статье SonarSource have announced their own SonarQube Team Services / TFS integration.

Улучшения администрирования

Новые возможности настройки уведомлений

Уведомления помогают вам и вашим командам быть в курсе всех работ по проектам Team Services. Это обновление упрощает управление получаемыми уведомлениями.

Теперь в меню профиля вам доступны собственные функции управления уведомлениями на уровне учетной записи (рис. 43) .

Параметры уведомлений
Рис. 43. Параметры уведомлений

В этом представлении вы можете управлять созданными личными подписками (рис. 44) . Здесь также отображаются подписки, созданные администраторами команд для всех проектов в учетной записи.

Управление личными подписками
Рис. 44. Управление личными подписками

Узнайте больше об управлении параметрами личных уведомлений.

addProjectReports теперь находится в TfsConfig.

Теперь вы можете использовать команду addProjectReports для добавления отчетов в командные проекты. Ранее это была команда Power Tool, а теперь она является частью команды TfsConfig.exe. Подробнее см. в разделе Загрузка отчетов в командный проект.

Недопустимость использования комнаты команды

Так как сейчас доступен целый ряд эффективных решений, поддерживающих интеграцию с Team Foundation Server и Team Services, таких как Slack и Microsoft Teams, мы решили отказаться в Team Foundation Server и Team Services от функции "Комната команды". При работе в Team Services вы увидите новый желтый баннер, информирующий о нашем плане. В этом году мы планируем полностью отключить комнату команды.

Вам будет доступно несколько альтернативных решений. Комната команды используется в центре уведомлений и в чате. TFS и Team Services уже интегрируются со многими другими продуктами для совместной работы, включая Microsoft Teams и Slack. Можно также использовать Zapier для создания собственных связанных средств или получения очень четкого контроля над получаемыми уведомлениями.

Дополнительные сведения об устаревании комнат команд в Team Services см. в этой статье.

Начиная с обновления 1 на страницах приветствия в мини-приложении Markdown на панелях мониторинга команд и в определениях готовности на канбан-досках больше не поддерживаются ссылки на файлы в разметке Markdown. Обойти это ограничение можно, включив ссылку на файл в виде текста в Markdown. Дополнительные сведения см. в статье Markdown guidance (Руководство по Markdown).

Объявление о редакторе шаблонов процессов

Мы выпустили расширение Редактор шаблонов процессов для Visual Studio 2017. Это расширение предоставляет удобный способ просмотра и обновления шаблонов процессов, а также инструменты для обновления глобальных списков и рабочих элементов и просмотра атрибутов полей рабочих элементов. Оно доступно для серверов TFS 2017 и TFS 2017 с обновлением 1.


Известные проблемы

Сборка не работает при обновлении до TFS 2017 с обновлением 1 (сборка 15.112.26301.0) из TFS 2013 или более ранней версии.

  • Проблема.

    Обратите внимание, что эта проблема возникает только при обновлении до TFS 2017 с обновлением 1 (сборка 15.112.26301.0), которое было выпущено 7 марта 2017 года. При обновлении до сборки 15.112.26307.0, выпущенной 9 марта, этой проблемы не возникает.

    После обновления с TFS 2013 (RTM или любого обновления) или более ранней версии в сборке отображается ошибка "Счетчик с именем TaskReferenceId не существует".

  • Инструкции по решению:

    Запустите следующий сценарий для обновленной коллекции базы данных:

    INSERT  tbl_Counter (PartitionId, DataspaceId, CounterName, CounterValue)
    SELECT  DISTINCT
              dpm.PartitionId,
              ds.DataspaceId,
              N'TaskReferenceId',
              1
      FROM    tbl_DatabasePartitionMap dpm
      INNER LOOP JOIN Task.tbl_Hub h
      ON      h.PartitionId = dpm.PartitionId
      INNER LOOP JOIN tbl_Dataspace ds
      ON      ds.PartitionId = dpm.PartitionId
              AND ds.DataspaceCategory = h.DataspaceCategory
              AND ds.DataspaceIdentifier <> '00000000-0000-0000-0000-000000000000'
      WHERE   dpm.PartitionId > 0
              AND dpm.HostType = 4
              AND NOT EXISTS (
                  SELECT  *
                  FROM    tbl_Counter c
                  WHERE   c.PartitionId = dpm.PartitionId
                          AND c.DataspaceId = ds.DataspaceId
                          AND c.CounterName = N'TaskReferenceId'
              ) 
    

Клиенты должны обновить версию LFS Git до 1.3.1 или более поздней версии

  • Проблема.

    Версии LFS Git до 1.3.1 больше не поддерживаются.

  • Инструкции по решению:

    Если вы используете Git LFS, обновите Git LFS до 1.3.1 или более поздней версии. Более старые версии клиента LFS не совместимы с изменениями в аутентификации в этой версии TFS.

Формы рабочих элементов отображаются неправильно

  • Проблема.

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

  • Инструкции по решению:

    Потребуется выполнить обновление до последней версии элемента управления. Последнюю версию элемента управления с несколькими значениями для TFS 2017 с обновлением 1 можно найти здесь.

Формы рабочих элементов отображаются в веб-клиенте неправильно.

  • Проблема.

    Если у вас есть пользовательский элемент управления, например элемент управления с несколькими значениями, установленный для клиента Visual Studio, но не для веб-клиента, формы рабочих элементов в веб-клиенте не будут отображаться.

  • Инструкции по решению:

    Вы можете добавить веб-макет, который не содержит неотображаемый элемент управления. Вы можете создать разные макеты, предназначенные для Visual Studio и веб-клиента. Подробнее о макете см. в справочнике по всем XML-элементам FORM (TFS 2015).

Формы рабочих элементов не скрывают поля только для чтения.

  • Проблема.

    Если вы используете старую форму рабочих элементов со свойством HideReadonlyEmptyFields, имеющим значение True в макете, в форме не будут скрываться поля только для чтения и пустые поля.

  • Инструкции по решению:

    Сейчас для этой проблемы не существует обходного решения. Эта проблема будет устранена в TFS 2017 с обновлением 2.

Формы рабочих элементов отображаются при просмотре как "грязные"

  • Проблема.

    Эта проблема характерна для IE 11 в TFS 2017 с обновлением 1 при выборе новой формы рабочего элемента. Если в вашем профиле заданы французский, корейский, русский, турецкий, японский или китайский языки и рабочий элемент назначен любому идентификатору, при просмотре рабочего элемента вы увидите форму рабочего элемента как "грязную". Когда вы сохраняете рабочий элемент, в поле "Кому назначено" будет указано значение "Не назначено".

  • Инструкции по решению:

    Используйте другой браузер помимо IE11. Если вы используете IE11, нажмите кнопку отмены или обновления на панели инструментов рабочего элемента, чтобы восстановить правильное значение в поле "Назначено".

Сбой кэшрования вышестоящих пакетов NPM

  • Проблема.

    Если сервер TFS находится за прокси-сервером, кэширование вышестоящих пакетов NPM завершится ошибкой.

  • Инструкции по решению:

    Если сервер TFS находится за корпоративным прокси-сервером, внесите следующие изменения в файлаweb.config сервера TFS (т. е. %ProgramFiles%\Microsoft Team Foundation Server 15.0\Application Tier\Web Services\web.config).

    Замените этот блок конфигурации:

      <!-- ASP.NET Proxy Usage for HttpWebRequests 
            "usesystemdefault" 
               false - stops the server using the default proxy configuration or proxy
                     auto-detection. 
            "bypassonlocal"
               true - this tells all requests to a local address to ignore configured proxies.
        -->
      <defaultProxy>
        <proxy usesystemdefault="False" bypassonlocal="True" />
      </defaultProxy>
    

    На следующий код:

      <defaultProxy useDefaultCredentials="true" />
    

Раскрывающееся меню "Код" отображает неправильные страницы управления версиями.

  • Проблема.

    Если вы перейдете на страницу администрирования в репозитории Git, как показано на рисунке ниже (рис. 45) , и щелкните центр Код, вы увидите ссылки Наборы изменений и Наборы отложенных изменений вместо ссылки Журнал.

    Раскрывающееся меню
    " (рис. 45) Раскрывающееся меню "Код"
  • Инструкции по решению:

    Выйдите со страницы администрирования в репозитории Git, и вы увидите правильные ссылки.

Расширения не обновляются автоматически.

  • Проблема.

    Если вы обновляете предыдущую версию TFS до TFS 2017 и работаете с TFS 2017 в подключенном режиме, расширения не обновляются автоматически, как это должно быть.

  • Инструкции по решению:

    Сейчас для этой проблемы не существует обходного решения. Эта проблема устранена. Возможность автоматического обновления будет доступна в TFS 2017 с обновлением 2. Если по какой-либо причине вы не можете дождаться обновления 2, обратитесь к нам через канал поддержки, и мы предоставим вам исправление раньше.

Если не задан правильный общедоступный URL-адрес, вы не сможете скачать расширения или они будут работать неправильно.

  • Проблема.

    Получение расширения из Visual Studio Marketplace завершается с ошибкой.

    Уже полученные расширения, вероятно, не работают должным образом.

  • Инструкции по решению:

    Проблема устранена в обновлении 2 для Team Foundation Server 2017. Рекомендуем установить его. Чтобы эта функция работала в обновлении 1, измените "Общедоступный URL-адрес" в консоли администратора Team Foundation Server на URL-адрес, доступный с другой системы в корпоративной среде (рис. 46) .

Меню
" (рис. 46) Меню "Код"

Вы можете ознакомиться с проблемами в Team Foundation Server 2017, о которых сообщали клиенты.

Портал Сообщество разработчиков


Отзывы и предложения

Мы будем рады узнать ваше мнение! Сообщить о проблеме и отслеживать ее можно с помощью портала сообщества разработчиков, а получить совет можно на сайте Stack Overflow.


К началу страницы