Заметки о выпуске обновления 1 Azure DevOps Server 2019 г.

| Сообщество разработчиков Системные требования | Условия лицензии DevOps | Блог | SHA-1 Хэши SHA-1

В этой статье вы найдете сведения о новейшем выпуске для Azure DevOps Server.

Дополнительные сведения об установке или обновлении развертывания Azure DevOps Server см. в разделе Требования Azure DevOps Server. Чтобы скачать продукты Azure DevOps, перейдите на страницу загрузки Azure DevOps Server.

Прямое обновление до Azure DevOps Server 2020 поддерживается с Azure DevOps Server 2019 года или Team Foundation Server 2015 или более поздней версии. Если развертывание TFS находится в TFS 2010 или более ранней версии, необходимо выполнить некоторые промежуточные действия перед обновлением до Azure DevOps Server 2019. Дополнительные сведения см. в статье Установка и настройка Azure DevOps в локальной среде.


Безопасное обновление с Azure DevOps Server 2019 до Azure DevOps Server 2020 г.

Azure DevOps Server 2020 г. вводит новую модель хранения запуска конвейера (сборки), которая работает на основе параметров уровня проекта.

Azure DevOps Server 2020 года обрабатывает хранение сборки по-разному в зависимости от политик хранения на уровне конвейера. Некоторые конфигурации политики приводят к удалению запусков конвейера после обновления. Запуски конвейера, которые были сохранены вручную или сохранены в выпуске, не будут удалены после обновления.

Дополнительные сведения о безопасном обновлении с Azure DevOps Server 2019 года до Azure DevOps Server 2020 годах см. в нашей записи блога.

Azure DevOps Server 2019 г. обновление 1.2, исправление 8 Дата выпуска: 12 марта 2024 г.

File Хэш SHA-256
devops2019.1.2patch8.exe 67E78EA7D67A09A6EE06309614F92E6D8495DEF52FF442E4E7C7979244FAD20A

Мы выпустили исправление 8 для Azure DevOps Server 2019 с обновлением 1.2, которое включает исправления для следующих компонентов:

  • Устранена проблема, из-за которой прокси-сервер переставал работать после установки исправления 7.

Azure DevOps Server 2019 г. обновление 1.2. Обновление 7 Дата выпуска: 13 февраля 2024 г.

File Хэш SHA-256
devops2019.1.2patch7.exe 8C67C72A83C9215302BDEFB752A7C4E3F876D4D17FCFA63A02B955FCFB5455AA

Мы выпустили исправление 7 для Azure DevOps Server 2019 с обновлением 1.2, которое содержит исправления для следующих компонентов:

  • Исправлена ошибка, из-за которой дисковое пространство, используемое папкой кэша прокси-сервера, вычислялось неправильно, а папка не была очищена должным образом.
  • CVE-2024-20667: Azure DevOps Server уязвимость к удаленному выполнению кода.

Azure DevOps Server 2019 г. обновление 1.2. Обновление 6 Дата выпуска: 14 ноября 2023 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.2, включающее исправления для следующих компонентов.

  • Расширен список разрешенных символов задач PowerShell для проверки параметров Аргументы задач оболочки.

Примечание

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

Установка исправлений

Важно!

Мы выпустили обновления для агента Azure Pipelines с исправлением 5 12 сентября 2023 г. Если вы не установили обновления агента, как описано в заметках о выпуске для исправления 5, рекомендуется установить эти обновления перед установкой исправления 6. Новая версия агента после установки исправления 5 будет 3.225.0.

Настройка TFX

  1. Выполните действия, описанные в документации по отправке задач в коллекцию проектов , чтобы установить и войти с помощью tfx-cli.

Обновление задач с помощью TFX

File Хэш SHA-256
Tasks20231103.zip 389BA66EEBC32622FB83402E21373CE20AE040F70461B9F9AF9EFCED5034D2E5
  1. Скачайте и извлеките Tasks20231103.zip.
  2. Измените каталог на извлеченные файлы.
  3. Выполните следующие команды, чтобы отправить задачи:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.230.0.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.230.0.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.230.0.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.230.0.zip 

Требования к конвейеру

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

  • В классической версии:

    Определите переменную на вкладке переменных в конвейере.

  • Пример YAML:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2019 г. обновление 1.2. Обновление 5 Дата выпуска: 12 сентября 2023 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.2, включающее исправления для следующих компонентов.

  • CVE-2023-33136: Azure DevOps Server уязвимость к удаленному выполнению кода.
  • CVE-2023-38155: уязвимость Azure DevOps Server и Team Foundation Server, связанная с повышением привилегий.

Важно!

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

Примечание

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

Установка исправлений

  1. Скачайте и установите Azure DevOps Server 2019 с обновлением 1.2 с обновлением 5.

Обновление агента Azure Pipelines

  1. Скачайте агент по ссылке — https://github.com/microsoft/azure-pipelines-agent/releases/tag/v3.225.0 Agent_20230825.zip
  2. Выполните действия, описанные в документации по локальным агентам Windows , чтобы развернуть агент.  

Примечание

Для AZP_AGENT_DOWNGRADE_DISABLED должно быть задано значение true, чтобы предотвратить понижение уровня агента. В Windows следующую команду можно использовать в командной строке администрирования, за которой следует перезагрузка. setx AZP_AGENT_DOWNGRADE_DISABLED true /M

Настройка TFX

  1. Выполните действия, описанные в документации по отправке задач в коллекцию проектов , чтобы установить и войти с помощью tfx-cli.

Обновление задач с помощью TFX

  1. Скачайте и извлеките Tasks_20230825.zip.
  2. Измените каталог на извлеченные файлы.
  3. Выполните следующие команды, чтобы отправить задачи:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.226.3.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.226.2.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.226.1.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.226.2.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.226.2.zip 

Требования к конвейеру

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

  • В классической версии:

    Определите переменную на вкладке переменных в конвейере.

  • Пример YAML:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2019 г. обновление 1.2. Обновление 4 Дата выпуска: 8 августа 2023 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.2, включающее исправления для следующих компонентов.

  • CVE-2023-36869: уязвимость Azure DevOps Server спуфингом.
  • Обновите службу SSH для поддержки SHA2-256 и SHA2-512. Если у вас есть файлы конфигурации SSH, жестко закодированные для использования RSA, следует обновить до SHA2 или удалить запись.
  • Исправлена ошибка бесконечного цикла в CronScheduleJobExtension.

Azure DevOps Server 2019 г. обновление 1.2. Обновление 3 Дата выпуска: 13 июня 2023 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.2, включающее исправления для следующих компонентов.

  • Исправлена ошибка, которая мешала отправке пакетов при обновлении с версии 2018 или более ранней версии.

Azure DevOps Server 2019 г. обновление 1.2. Дата выпуска исправления 2: 13 декабря 2022 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.2, включающее исправления для следующих компонентов.

  • Исправлены сбои в задании "Аналитика синхронизации параллелизма учетных записей".

Azure DevOps Server 2019 г. обновление 1.2. Дата выпуска исправления 1: 12 июля 2022 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.2, включающее исправления для следующих компонентов.

  • В API тестовых запусков возвращаемый маркер продолжения был больше указанного значения maxLastUpdatedDate.
  • При редактировании классического конвейера вкладка хранения была пустой после отмены изменений на другой вкладке.

Azure DevOps Server 2019 г. обновление 1.2 Дата выпуска: 17 мая 2022 г.

Azure DevOps Server 2019 обновление 1.2 представляет собой сводный пакет исправлений ошибок. Вы можете напрямую установить Azure DevOps Server 2019 с обновлением 1.2 или с Azure DevOps Server 2019 или Team Foundation Server 2013 или более поздней версии.

Примечание

Средство миграции данных будет доступно для Azure DevOps Server 2019 с обновлением 1.2 примерно через три недели после этого выпуска. Список поддерживаемых сейчас версий для импорта см. здесь.

В этом выпуске содержатся исправления для следующих компонентов:

  • Отменять все личные маркеры доступа после отключения учетной записи Active Directory пользователя.

Azure DevOps Server 2019 г. обновление 1.1. Обновление 13 Дата выпуска: 26 января 2022 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.1, включающее исправления для следующих компонентов.

  • Email уведомления не были отправлены при использовании @mention элемента управления в рабочем элементе.
  • В профиле пользователя не обновлялся предпочитаемый адрес электронной почты. Вследствие этого сообщения отправлялись на предыдущий адрес.
  • Устранена уязвимость Elasticsearch за счет удаления класса JndiLookup из двоичных файлов Log4j.

Шаги установки

  1. Обновите сервер с помощью исправления 13.
  2. Проверьте значение реестра по адресу HKLM:\Software\Elasticsearch\Version. Если оно отсутствует, добавьте строковое значение и задайте Version со значением 5.4.1 (Имя = Version, Значение = 5.4.1).
  3. Выполните команду обновления PS C:\Program Files\{TFS Version Folder}\Search\zip> .\Configure-TFSSearch.ps1 -Operation update, приведенную в файле сведений. Она может возвращать предупреждение вида Невозможно соединиться с удаленным сервером. Не закрывайте окно, так как обновление будет повторять попытку, пока не сработает.

Примечание

Если Azure DevOps Server и Elasticsearch установлены на разных компьютерах, выполните действия, описанные ниже.

  1. Обновите сервер с помощью исправления 13.
  2. Проверьте значение реестра по адресу HKLM:\Software\Elasticsearch\Version. Если оно отсутствует, добавьте строковое значение и задайте Version со значением 5.4.1 (Имя = Version, Значение = 5.4.1).
  3. Скопируйте содержимое папки с именем ZIP, расположенной в C:\Program Files\{TFS Version Folder}\Search\zip удаленной папке Elasticsearch.
  4. Запустите Configure-TFSSearch.ps1 -Operation update на компьютере сервера Elasticsearch.

Хэш SHA-256: DB762E391F9DF8E71E58D6FAA169CA44DFBE996AE6567B55F772CBA9E3DA2AB3

Azure DevOps Server 2019 г. обновление 1.1. Обновление 12 Дата выпуска: 15 сентября 2021 г.

Исправление 12 для Azure DevOps Server 2019 с обновлением 1.1 включает исправления для следующих компонентов.

  • Исправлен макрос рабочего элемента для запросов с текстом "Содержит слова". Ранее запросы возвращали неверные результаты для значений, содержащих разрыв строки.
  • Проблема локализации для пользовательских состояний макета рабочих элементов.
  • Проблема локализации в шаблоне уведомлений по электронной почте.
  • Проблема с оценкой правил NOTSAMEAS, когда для поля было определено несколько правил NOTSAMEAS.

Azure DevOps Server 2019 г. обновление 1.1. Обновление 11 Дата выпуска: 14 сентября 2021 г.

Исправление 11 для Azure DevOps Server 2019 с обновлением 1.1 включает следующие исправления.

Azure DevOps Server 2019 г. обновление 1.1. Обновление 10 Дата выпуска: 10 августа 2021 г.

Исправление 10 для Azure DevOps Server 2019 с обновлением 1.1 включает исправления для следующих компонентов.

  • Исправлена проблема с заданиями доставки электронной почты для некоторых типов рабочих элементов.

Azure DevOps Server 2019 г. обновление 1.1. Обновление 9 Дата выпуска: 15 июня 2021 г.

Исправление 9 для Azure DevOps Server 2019 с обновлением 1.1 включает исправления для следующих компонентов.

  • Исправлена проблема с импортом данных. Импорт данных занимал много времени для клиентов, у которых есть много устаревших тестовых случаев. Это произошло из-за ссылок, увеличивших tbl_testCaseReferences размер таблицы. С помощью этого исправления мы удалили ссылки на устаревшие тестовые случаи, чтобы ускорить процесс импорта данных.

Azure DevOps Server 2019 г. обновление 1.1. Обновление 8 Дата выпуска: 13 апреля 2021 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.1, которое исправляет следующее.

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

Установка общего исправления

Если у вас Azure DevOps Server 2019 с обновлением 1.1, необходимо установить Azure DevOps Server 2019 с обновлением 1.1 с обновлением 8.

Проверка установки

  • Вариант 1. Запустите devops2019.1.1patch8.exe CheckInstall, devops2019.1.1patch8.exe — это файл, скачанный по ссылке выше. В выходных данных команды будет указано, что исправление установлено или не установлено.

  • Вариант 2. Проверьте версию следующего файла: [INSTALL_DIR]\Azure DevOps Server 2019\Application Tier\Web Services\bin\Microsoft.VisualStudio.Services.Feed.Server.dll. Azure DevOps Server 2019 устанавливается c:\Program Files\Azure DevOps Server 2019 в по умолчанию. После установки Azure DevOps Server 2019.1.1, исправление 8, версия будет 17.153.31129.2.

Установка задачи AzureResourceGroupDeploymentV2

Примечание

Все нижеперечисленные шаги нужно выполнять на компьютере с Windows.

Установка

  1. Извлеките пакет AzureResourceGroupDeploymentV2.zip в новую папку на компьютере. Например: D:\tasks\AzureResourceGroupDeploymentV2.

  2. Скачайте и установите Node.js 14.15.1 и npm (входит в состав Node.js загрузки) в соответствии с вашим компьютером.

  3. Откройте командную строку в режиме администратора и выполните следующую команду, чтобы установить tfx-cli.

npm install -g tfx-cli
  1. Создайте личный маркер доступа с привилегиями Полного доступа и скопируйте его. Этот личный маркер доступа будет использоваться при выполнении команды tfx login.

  2. В командной строке выполните следующую команду. При появлении запроса введите URL-адрес службы и личный маркер доступа.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

  1. Выполните следующую команду, чтобы отправить задачу на сервер. Используйте путь к извлеченному ZIP-файлу из шага 1.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

Azure DevOps Server 2019 г. обновление 1.1. Обновление 7 Дата выпуска: 12 января 2021 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.1, которое исправляет следующее. Дополнительные сведения см. в записи блога.

  • Сведения о тестовом запуске не отображают сведения о тестовом шаге для тестовых данных, перенесенных с помощью Миграции OpsHub
  • Исключение в инициализаторе для Microsoft.TeamFoundation.TestManagement.Server.TCMLogger
  • Незапланированные сборки немедленно удаляются после миграции на Azure DevOps Server 2020 г.
  • Исправление исключения поставщика данных

Azure DevOps Server 2019 г. обновление 1.1. Обновление 6 Дата выпуска: 8 декабря 2020 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.1, которое исправляет следующее. Дополнительные сведения см. в записи блога.

  • CVE-2020-1325: уязвимость Azure DevOps Server спуфингом
  • CVE-2020-17135: уязвимость Azure DevOps Server спуфингом
  • CVE-2020-17145 : уязвимость для спуфинга в Azure DevOps Server и службах Team Foundation Service
  • Исправлена проблема с обработкой не всех результатов в TFVC

Важно!

Прежде чем устанавливать это исправление, ознакомьтесь с полными инструкциями, приведенными ниже.

Установка общего исправления

Если у вас Azure DevOps Server 2019 с обновлением 1.1, необходимо установить Azure DevOps Server 2019 с обновлением 1.1 с обновлением 6.

Проверка установки

  • Вариант 1. Запустите devops2019.1.1patch6.exe CheckInstall, devops2019.1.1patch6.exe — это файл, скачанный по ссылке выше. В выходных данных команды будет указано, что исправление установлено или не установлено.

  • Вариант 2. Проверьте версию следующего файла: [INSTALL_DIR]\Azure DevOps Server 2019\Application Tier\Web Services\bin\Microsoft.VisualStudio.Services.Feed.Server.dll. Azure DevOps Server 2019 устанавливается c:\Program Files\Azure DevOps Server 2019 в по умолчанию. После установки Azure DevOps Server 2019.1.1, исправление 6, версия будет 17.153.30723.5.

Установка задачи AzurePowerShellV4

Примечание

Все нижеперечисленные шаги нужно выполнять на компьютере с Windows.

Предварительные требования

  1. Установите Azure PowerShell модуля Az Azure PowerShell на компьютере частного агента.

  2. Создайте конвейер с помощью задачи AzurePowerShellV4 . В задаче будет отображаться только один сбой при стандартной ошибке .

Установка

  1. Извлеките пакет AzurePowerShellV4.zip в папку с именем AzurePowerShellV4.

  2. Скачайте и установите Node.js 14.15.1 и npm (входит в состав загрузки Node.js), совместимые с вашим компьютером.

  3. Откройте командную строку в режиме администратора и выполните следующую команду, чтобы установить tfx-cli.

npm install -g tfx-cli
  1. Создайте личный маркер доступа с привилегиями Полного доступа и скопируйте его. Этот личный маркер доступа будет использоваться при выполнении команды tfx login.

  2. В командной строке выполните следующую команду. При появлении запроса введите URL-адрес службы и личный маркер доступа.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

  1. Выполните следующую команду, чтобы отправить задачу на сервер. Путь к извлечению пакета будет иметь следующий формат : D:\tasks\AzurePowerShellv4.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

Azure DevOps Server 2019 г. Обновление 1.1 Дата выпуска исправления 5: 8 сентября 2020 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.1, которое исправляет следующее. Дополнительные сведения см. в записи блога.

  • DTS 1713492 — непредвиденное поведение при добавлении групп AD к разрешениям безопасности.

Azure DevOps Server 2019 обновление 1.1, обновление 4 Дата выпуска: 14 июля 2020 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.1, которое исправляет следующее. Дополнительные сведения см. в записи блога.

  • CVE-2020-1326: уязвимость, связанная с меж site scripting
  • При выборе другого источника Git конвейер сборки отображает неправильное подключение для неавторизованных пользователей.
  • Исправлена ошибка при изменении наследования на Вкл. или Выкл. в определении сборки XAML.

Azure DevOps Server 2019 обновление 1.1, обновление 3 Дата выпуска: 9 июня 2020 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.1, которое исправляет следующее. Дополнительные сведения см. в записи блога.

  • CVE-2020-1327. Убедитесь, что сервер Azure DevOps очищает введенные пользователем данные.

Azure DevOps Server 2019 г. Обновление 1.1 Дата выпуска обновления 2: 14 апреля 2020 г.

Мы выпустили исправление для Azure DevOps Server 2019 с обновлением 1.1, которое исправляет следующее. Дополнительные сведения см. в записи блога.

  • Фиксации SVN не активируют конвейер

  • Добавление поддержки SHA2 в SSH в Azure DevOps

Azure DevOps Server 2019 г. Обновление 1.1. Дата выпуска обновления 1: 10 марта 2020 г.

Мы выпустили исправление системы безопасности для Azure DevOps Server 2019 с обновлением 1.1, которое устраняет следующие ошибки. Дополнительные сведения см. в записи блога.

  • CVE-2020-0700 : уязвимость для межсайтовых сценариев

  • CVE-2020-0758 : уязвимость к повышению привилегий

  • CVE 2020-0815: уязвимость к несанкционированному повышению привилегий


Azure DevOps Server 2019 обновление 1.1 RTW Дата выпуска: 10 декабря 2019 г.

Azure DevOps Server 2019 с обновлением 1.1 — это сводка исправлений ошибок и обновлений для системы безопасности. Он включает все исправления в ранее выпущенных исправлениях Azure DevOps Server 2019 с обновлением 1. Вы можете напрямую установить Azure DevOps Server 2019 с обновлением 1.1 или обновление с Azure DevOps Server 2019, Team Foundation Server 2012 или более поздней версии.

Примечание

Средство переноса данных будет доступно для Azure DevOps Server 2019 с обновлением 1.1 примерно через три недели после этого выпуска. Список поддерживаемых сейчас версий для импорта см. здесь.

Этот выпуск включает в себя следующие исправления.

Azure Boards

  • При создании нового рабочего элемента из невыполненной работы продукта поле Title не инициализируется со значением по умолчанию в шаблоне процесса.
  • Медленная работа и время ожидания при использовании Azure Boards.
  • Неверное значение Исправлено для ссылок на рабочие элементы.

Azure Pipelines

Планы тестирования Azure

  • Редактирование полей в Test Plans выполняется медленно.
  • В тестовом случае при открытии из Boards (в отличие от Test Plans) сведения об общем шаге не открываются.

Общее

Администрирование

  • Высокий уровень использования памяти.
  • Серверам с конфигурациями подсистемы балансировки нагрузки пришлось явно добавить открытый источник в запись реестра AllowedOrigins.
  • Пользователи, устанавливающие SQL Azure, не видят диалоговое окно "Полная пробная версия".
  • При установке расширений возникает ошибка "Сообщение об ошибке Отсутствует вклад (ms.vss-dashboards-web.widget-sdk-version-2)".
  • При настройке эластичного поиска появляется ошибка "Пользователь не авторизован".
  • Сбои индексирования и запросов в эластичном поиске при обновлении с TFS 2018 с обновлением 2 или более поздней версии.
  • При настройке Azure DevOps Server шаг "Создать хранилище" завершается сбоем.

Этот выпуск включает следующее обновление:

  • Поддержка SQL Server 2019.

Azure DevOps Server 2019 обновление 1, обновление 1 Дата выпуска: 10 сентября 2019 г.

Мы выпустили исправление системы безопасности для Azure DevOps Server 2019 с обновлением 1, которое устраняет следующую ошибку. Дополнительные сведения см. в записи блога.

  • CVE-2019-1306 : уязвимость удаленного выполнения кода в Wiki

Azure DevOps Server 2019 с обновлением 1 Дата выпуска: 20 августа 2019 г.

Примечание

Средство переноса данных будет доступно для Azure DevOps Server 2019 с обновлением 1 примерно через три недели после этого выпуска. Список поддерживаемых сейчас версий для импорта см. здесь.


Релиз-кандидат 2: 23 июля 2019 г.

RC2 включает несколько исправлений ошибок, так как rc1 является окончательной запланированной предварительной версией.


Дата выпуска RC1: 2 июля 2019 г.

Сводка новых возможностях Azure DevOps Server 2019 с обновлением 1

Azure DevOps Server 2019 с обновлением 1 представлено множество новых функций. Вот некоторые из них:

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


Общее

Темная тема

Темная тема была популярной функцией на Azure DevOps Services и теперь доступна в Azure DevOps Server. Вы можете включить темную тему, выбрав Тема в меню под аватаром в правом верхнем углу каждой страницы.

Темная тема

Boards

Новый базовый процесс

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

Новый базовый процесс предоставляет три типа рабочих элементов (Epics, Issues и Tasks) для планирования и отслеживания работы. Мы рекомендуем использовать проблемы для отслеживания таких вещей, как пользовательские истории, ошибки и функции, а с помощью Epics группировать проблемы в более крупные единицы работы. По мере выполнения работы перемещайте элементы по простому рабочему процессу состояния To Do, Doing и Done.

базовый процесс

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

Порядок значений состояния в форме рабочего элемента

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

state order

Включение компонентов больше не доступно

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

включение

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

Упорядочение справочных материалов с помощью расширенных вложений рабочих элементов

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

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

Предоставление общего доступа к доске команды с помощью значка

Файл сведений репозитория часто является домом, к которому обращается проектная группа для получения сведений о том, как вносить свой вклад в решение и использовать его. Теперь, как и при использовании состояния сборки или развертывания в Azure Pipelines, вы можете добавить в файл сведений эмблему для доски команды в Azure Boards. Вы можете настроить индикатор событий так, чтобы отображались только столбцы In Progress (Выполняется) или все столбцы, а также сделать эмблему общедоступной, если проект открытый код.

Короткое видео, в которое показано, как поделиться досками вашей команды с помощью значка.

Если файл сведений основан на Markdown, можно просто скопировать пример Markdown со страницы параметров индикатора состояния и вставить его в файл.

Снимок экрана: значок в файле сведений на GitHub.

Запрос трудоемких работ относительно начала дня, недели, месяца или года

Хотя команды часто фокусируются на работе в контексте того, что будет дальше, или на основе итераций спринта, часто интересно оглянуться на работу через призму календаря, чтобы отчитываться обо всех работах, которые произошли в прошлом месяце или в первом квартале года. Теперь вы можете использовать следующий новый набор макросов @StartOf вместе с любым полем на основе даты для запроса в зависимости от начала дня, недели, месяца или года:

  • @StartOfYear
  • @StartOfMonth
  • @StartOfWeek
  • @StartOfDay

Каждый из этих макросов также принимает новую строку модификатора, которая позволяет перемещать данные по разным единицам даты. Например, вы можете написать запрос, чтобы найти все рабочие элементы, завершенные в первом квартале этого года, выполнив запросы в значениях State Change Date >= @StartOfYear и State Change Date <= @StartOfYear("+3M"). Дополнительные сведения см. в документации по макросам запросов .

Снимок экрана: запрос на работу относительно начала дня, недели, месяца или года.

Изменение и удаление комментариев к обсуждению

Мы рады сообщить о доступности функции с высокими Сообщество разработчиков, редактирования и удаления комментариев в обсуждении рабочего элемента в Azure Boards. Чтобы изменить комментарий, просто наведите указатель мыши на любой комментарий, который у вас есть, и вы увидите две новые кнопки. Щелкнув значок карандаша, вы перейдете в режим редактирования и сможете просто внести изменения и нажать кнопку "Обновить", чтобы сохранить изменения.

Снимок экрана: комментарии к обсуждению.

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

Снимок экрана: удаление комментариев к обсуждению.

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

Экспорт результатов запроса в CSV-файл

Теперь можно экспортировать результаты запроса непосредственно в CSV-файл форматирования из Интернета.

Короткое видео, в котором показано, как экспортировать результаты запроса.

Теперь, когда вы упоминание рабочий элемент в комментарии к проблеме, запросу на вытягивание или фиксации в GitHub с помощью AB#{work item ID} синтаксиса, эти упоминания станут гиперссылками, которые можно щелкнуть для перехода непосредственно к указанному рабочему элементу.

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

Снимок экрана: запрос на вытягивание на GitHub.

Принятие и выполнение проблем в GitHub при планировании в Azure Boards

Теперь вы можете связывать рабочие элементы в Azure Boards со связанными проблемами в GitHub. При использовании этого нового типа связывания теперь возможно несколько других сценариев. Если ваша команда хочет продолжать принимать отчеты об ошибках от пользователей, например, как проблемы в GitHub, но связать и упорядочить работу команды в целом в Azure Boards, теперь вы можете.

Снимок экрана: можно связать рабочие элементы в Azure Boards со связанными проблемами в GitHub.

По-прежнему применяется тот же синтаксис упоминание, который команда использует для фиксаций и запросов на вытягивание, и, конечно, вы можете связать вручную в Azure Boards с URL-адресом проблемы. Дополнительные сведения см. в документации по & Azure Boards GitHub.

Снимок экрана: создание ссылки вручную в Azure Boards с ПОМОЩЬЮ URL-адреса проблемы GitHub.

Быстрый просмотр связанных действий GitHub с канбан-доски

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

Снимок экрана: просмотр связанных действий GitHub с канбан-доски.

Repos

Черновые запросы на вытягивание

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

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

Создание черновика запроса на вытягивание

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

Снимок экрана: запрос на вытягивание, показывающий, что это черновик

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

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

Azure Repos теперь автоматически помещает в очередь сборки с истекшим сроком действия, которые были активированы политикой запроса на вытягивание. Это относится к запросам на вытягивание, которые прошли все остальные политики и настроены на автоматическое завершение.

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

Примечание

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

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

Сегодня при просмотре изменений файла в запросе на вытягивание можно использовать режим параллельного diff или встроенный режим diff. Мы получили отзыв о том, что многие из вас просто хотят увидеть исходный или измененный файл, не сравнивая их, поэтому мы добавили новый параметр, который позволит вам просматривать либо левый, либо правильный файл по отдельности.

Снимок экрана: параметры параллельного diff с курсором, наведенным на элемент Показать измененное содержимое.

Новые типы слияния для выполнения запросов на вытягивание

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

В диалоговом окне "Завершить запрос на вытягивание " вы увидите следующие новые параметры:

Снимок экрана: новые типы слияния для выполнения запросов на вытягивание.

Обновленная страница администрирования политики позволяет администраторам управлять разрешенными стратегиями слияния в ветви или папке ветвей.

Снимок экрана: раздел

Примечание

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

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

  • Если политика в целевой ветви запрещает использование стратегий перераспределения, потребуется разрешение "Переопределить политики ветвей".
  • Если исходная ветвь запроса на вытягивание содержит политики, вы не сможете перебазировать ее. При повторной basing будет изменена исходная ветвь без прохождения процесса утверждения политики.
  • Если вы использовали расширение конфликтов слияния для разрешения конфликтов слияния. Разрешения конфликтов, применяемые к трехстороннему слиянию, редко являются успешными (или даже допустимыми) при перебазовке всех фиксаций в запросе на вытягивание по одной за раз.

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

Фильтрация по целевой ветви в запросах на вытягивание (PRs)

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

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

Снимок экрана: параметры фильтрации запросов на вытягивание в Azure Pipelines.

Вы также можете использовать фильтрацию целевой ветви для настройки представления запросов на вытягивание на вкладке Шахта .

Снимок экрана: настройка запроса на вытягивание на вкладке Mine.

Разрешить расширениям добавлять выделение синтаксиса и автозавершение

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

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

Пример расширения, демонстрирующего эту функцию, можно найти здесь.

Кроме того, добавлена поддержка выделения синтаксиса языка Kusto .

Точка расширения создания репозитория

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

Снимок экрана: расширение создания репозитория.

Улучшенная поддержка кодирования

Ранее при редактировании и сохранении файлов в Интернете сохранялись только в кодировке UTF-8, и при изменении кодировки файлов запрос не выводился. Теперь мы выведем предупреждение при попытке сохранить файл, который не является кодировкой UTF через Интернет (который поддерживает только кодировку UTF). Кроме того, добавлена поддержка кодировки UTF-16 и UTF-32 через конечную точку веб-отправки. Это означает, что мы сохраним тип кодирования, чтобы вам не нужно было переписывать их как UTF-8.

На следующем снимку экрана показан и пример диалогового окна, которое вы увидите при внесении изменений кодирования с помощью веб-push-уведомлений.

Снимок экрана: сообщение о добавлении символов, отличных от ASCII. Фиксация закодирует этот файл как Юникод.

Перейти к поддержке команд в Azure Repos

Go — это открытый код язык программирования, также называемый Golang. В Go можно использовать команду get для скачивания и установки пакетов и зависимостей. В этом обновлении мы добавили поддержку в go get репозитории Azure DevOps. С помощью go getвы сможете скачивать пакеты с их зависимостями, именуемыми путями импорта. Для указания пути импорта import можно использовать ключевое слово.

Pipelines

Веб-редактор с IntelliSense для конвейеров YAML

Если вы используете YAML для определения конвейеров, теперь вы можете воспользоваться новыми возможностями редактора, представленными в этом выпуске. Независимо от того, создаете ли вы новый конвейер YAML или редактируете существующий конвейер YAML, вы сможете изменить файл YAML в веб-редакторе конвейера. При редактировании файла YAML используйте клавиши CTRL+ПРОБЕЛ для поддержки IntelliSense. Вы увидите выделенные синтаксические ошибки, а также получите справку по их исправлению.

Снимок экрана: выделенные синтаксические ошибки.

помощник задач для редактирования файлов YAML

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

Короткое видео, в котором показано, как использовать помощник задач для редактирования файлов YAML.

Активация конвейеров YAML с тегами

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

Вы можете указать, какие теги следует включить и исключить. Пример:

trigger:
  tags:
    include:
    - releases/*
    exclude:
    - releases/old*

Объявление встроенных ресурсов контейнера

Ранее мы требовали объявить ресурсы контейнера в конвейерах YAML, а затем ссылаться на них по имени. Теперь мы предлагаем встроенный синтаксис для случаев, когда вы не собираетесь ссылаться на контейнер несколько раз.

jobs:
- job: my-container-job
  container:
    image: microsoft/dotnet:latest

Настройка автоматической отмены существующего конвейера при обновлении запросов на вытягивание

По умолчанию конвейеры, активированные запросами на вытягивание ,будут отменены, если новая фиксация отправляется в тот же запрос на вытягивание. Это желательно в большинстве случаев, так как обычно вы не хотите продолжать выполнение конвейера с устаревшим кодом. Если такое поведение не требуется, можно добавить autoCancel: false в триггер запроса на вытягивание.

pr:
  branches:
    include:
    - main
    - releases/*
  autoCancel: false

Выбор каталога извлеченного кода в конвейерах YAML

Ранее мы извлекали репозитории в каталоге s $(Agent.BuildDirectory). Теперь можно выбрать каталог, в котором будет извлечен репозиторий Git для использования с конвейерами YAML.

path Используйте ключевое слово в , checkout и вы будете контролировать структуру папок. Ниже приведен пример кода YAML, который можно использовать для указания каталога.

steps:
- checkout: self
  path: my-great-repo

В этом примере код будет извлечен my-great-repo в каталог в рабочей области агента. Если путь не указан, репозиторий будет по-прежнему извлечен в каталог с именем s.

Новые задачи Служба приложений Azure, оптимизированные для YAML

Теперь мы поддерживаем четыре новые задачи, которые предоставляют простой, но мощный способ развертывания служб приложение Azure с учетом современных разработчиков. Эти задачи имеют оптимизированный синтаксис YAML, что позволяет легко и интуитивно понятно создавать развертывания в Службах приложений Azure, включая веб-приложения, приложения-функции, веб-приложения для контейнеров и FunctionApp для контейнеров на платформах Windows и Linux.

Мы также поддерживаем новую служебную задачу для преобразования файлов и замены переменных в форматах XML и JSON.

Изменения разрешений по умолчанию для новых проектов

До сих пор участники проекта не могли создавать конвейеры, если им явно не было предоставлено разрешение "Создание определения сборки". Для новых проектов участники команды могут легко создавать и обновлять конвейеры. Это изменение позволит снизить трудности для новых клиентов, которые переходят на Azure Pipelines. Вы всегда можете обновить разрешения по умолчанию для группы "Участники" и ограничить их доступ.

Управление выпусками GitHub с помощью конвейеров

Выпуски GitHub — это отличный способ упаковки и предоставления программного обеспечения пользователям. Мы рады сообщить, что теперь вы можете автоматизировать ее с помощью задачи выпуска GitHub в Azure Pipelines. С помощью задачи можно создать новый выпуск, изменить существующие черновики или опубликованные выпуски или отменить старые. Он поддерживает такие функции, как отправка нескольких ресурсов, маркировка выпуска как предварительного выпуска, сохранение выпуска в виде черновика и многое другое. Эта задача также помогает создавать заметки о выпуске. Он также может автоматически вычислить изменения (фиксации и связанные с ними проблемы), внесенные в этом выпуске, и добавить их в заметки о выпуске в удобном для пользователя формате.

Ниже приведен простой YAML для этой задачи:

task: GithubRelease@0 
displayName: 'Create GitHub Release'      
inputs:
  githubConnection: zenithworks
  repositoryName: zenithworks/pipelines-java
  assets: $(build.artifactstagingdirectory)/*.jar

Снимок экрана: диалоговое окно

Пример выпуска GitHub, созданный с помощью этой задачи:

Снимок экрана: пример выпуска GitHub, созданный с помощью этой задачи.

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

Снимок экрана: файл dirs.proj build solution с выделенной строкой журнала и выделенным параметром

Улучшения авторизации ресурсов

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

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

Снимок экрана: сводка конвейера с ошибкой авторизации.

Новые точки вклада расширения на вкладке "Тест конвейеров"

Мы продолжали делать платформу расширений более эффективной, добавив две новые точки вклада на вкладке Результаты тестирования в конвейерах. Это позволит расширениям Marketplace предоставлять более специализированные возможности создания отчетов и повысить интерактивность.

Ниже приведены два балла о вкладе.

  1. Кнопка "Пользовательское действие" на панели инструментов

    Иногда может потребоваться выполнить такое действие, как обновление данных API или запуск пользовательских средств с помощью метаданных из результатов теста. С помощью этой точки вклада можно создавать расширения, которые используют непосредственный контекст выбранного результата теста для добавления настраиваемого действия к кнопке *Настраиваемое действие-.

    Снимок экрана: параметр

  2. Вкладка "Настраиваемые сведения" в области сведений

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

Запуск агента один раз

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

Обновление пользовательского интерфейса пула агентов

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

Снимок экрана: обновление пользовательского интерфейса пула агентов

Развертывание в целевых объектах, завершилось сбоем, в группе развертывания

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

Снимок экрана: выбранный вариант развертывания, сбой теста и выделенный раздел

Автоматическое повторное развертывание при сбое

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

Снимок экрана: диалоговое окно

Перехватчик службы примечаний Grafana

Теперь мы поддерживаем новый перехватчик службы, который позволяет добавлять заметки Grafana для событий Deployment Completed на панель мониторинга Grafana. Это позволяет сопоставлять развертывания с изменениями в метриках приложения или инфраструктуры, которые визуализируются на панели мониторинга Grafana.

Снимок экрана: панель мониторинга Grafana с изменениями метрик.

Запрос задач оповещений Azure Monitor

Предыдущая версия задачи "Запрос Azure Monitors " поддерживала запросы оповещений только в классическом интерфейсе мониторинга. С помощью этой новой версии задачи можно запрашивать оповещения в едином интерфейсе мониторинга, который недавно появился в Azure Monitor.

Снимок экрана: предварительная версия запроса оповещений Azure Monitor.

Встроенные входные данные файла спецификации в задаче "Развертывание в Kubernetes"

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

Снимок экрана: функция встроенной конфигурации.

Задача установщика Интерфейса командной строки Docker

Эта задача позволяет установить любую версию Docker CLI на агентах, как указано пользователем.

Снимок экрана: установленный DockerCLI.

Восстановление удаленных конвейеров выпуска

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

Снимок экрана: параметр

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

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

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

Снимок экрана: мастер создания подписки с выделенной категорией выпусков и выделенным параметром A request for release creation failed (Запрос на создание выпуска не удалось).

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

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

Снимок экрана: раздел триггера запланированного выпуска с параметром

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

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

Снимок экрана: диалоговое окно

Публикация в очередях сеансов Служебная шина Azure

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

Снимок экрана: задача

Новый вариант подписки Azure в подключении к службе Kubernetes

Подключения служб для сборок и выпусков позволяют подключаться к внешним и удаленным службам для выполнения задач сборки или развертывания. Вы можете определить подключение к службе и управлять им из Администратор параметров проекта.

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

Для кластера с поддержкой управления доступом на основе ролей (RBAC) в выбранном пространстве имен создаются объекты ServiceAccount и RoleBinding . Объект RoleBinding ограничивает операции созданной учетной записи службы только выбранным пространством имен. Для отключенного кластера RBAC созданная учетная запись службы имеет разрешения на уровне кластера в пространствах имен.

Снимок экрана: диалоговое окно

Подключение к реестру контейнеров Azure в службе реестра Docker

Теперь вы можете создать подключение к службе реестра Docker на странице параметров проекта. Чтобы создать подключение, выберите реестр контейнеров Azure в одной из подписок, связанных с удостоверением Azure Active Directory (AAD). Все задачи, требующие подключения службы к реестрам контейнеров, такие как Docker@2 и KubernetesManifest@0 , поддерживают единый способ указания подключения.

Снимок экрана: добавление подключения к службе Docker.

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

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

Снимок экрана: определения выпусков, хранящиеся в папках.

Задача установщика средства Duffle в конвейере сборки и выпуска

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

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

Снимок экрана: установщик средства Duffle.

Задачи с манифестом Kubernetes

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

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

  • Стабильность манифеста — состояние развертывания проверяется для развернутых объектов Kubernetes для включения проверок стабильности при вычислении состояния задачи как успешного или неудачного.

  • Заметки трассировки. Заметки добавляются в развернутые объекты Kubernetes для наложения сведений об исходной организации, проекте, конвейере и запуске.

  • Выпекать манифест . Действие bake задачи позволяет создавать диаграммы Helm в файлах манифеста Kubernetes, чтобы их можно было применить к кластеру.

  • Стратегия развертывания. Выбор канарной стратегии с действием развертывания приводит к созданию требуемого процента рабочих нагрузок с суффиксами -baseline и -canary , чтобы их можно было сравнить во время ManualIntervention задачи, прежде чем использовать действие повышения или отклонения задачи для завершения версии, которая будет сохранена.

steps:
- task: KubernetesManifest@0
  name: bake
  displayName: Bake K8s manifests from Helm chart
  inputs:
    action: bake
    helmChart: charts/sample
    overrides: 'image.repository:nginx'

- task: KubernetesManifest@0
  displayName: Deploy K8s manifests
  inputs:
    kubernetesServiceConnection: k8sSC1
    manifests: $(bake.manifestsBundle)
    containers: |
      nginx: 1.7.9

Обновление задачи Docker

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

steps:
- task: Docker@2
  displayName: Container registry login - ACR1 service connection
  inputs:
    command: login
    containerRegistry: acr1
- task: Docker@2
  displayName: Container registry login - ACR2 service connection
  inputs:
    command: login
    containerRegistry: acr2
- task: Docker@2
  displayName: Build and push images
  inputs:
    repository: test
    tags: |
      d1
      d2

Установщик средств Kubectl

Мы добавили новую задачу, которая позволяет установить определенную версию двоичного файла Kubectl в агентах. Строки последней версии и semver , такие как "v1.14.0", принимаются в качестве допустимых значений для входных данных спецификации версии Kubectl.

Снимок экрана: установщик средства Kubectl.

Улучшения интеграции ServiceNow

Ключевая возможность совместной работы между командами заключается в том, чтобы позволить каждой команде использовать службу по своему выбору и обеспечить эффективную сквозную доставку. В этом обновлении мы улучшили интеграцию ServiceNow для поддержки всех типов изменений (обычные, стандартные и аварийные). Кроме того, теперь можно указать шлюз, используемый для создания нового запроса на изменение с помощью существующего шаблона, в рамках процесса ITSM, который выполняется в вашей организации. Наконец, можно также отключить выпуски на основе существующих запросов на изменение. Это позволяет внедрять CD без необходимости изменять процесс, рекомендованный ИТ-командами.

Снимок экрана: функция управления изменениями в ServiceNow.

Поддержка Red Hat Enterprise Linux 6

В этом обновлении мы добавили поддержку агентов для Red Hat Enterprise Linux 6. Теперь можно настроить агенты, предназначенные для платформы Red Hat Enterprise Linux 6, для выполнения заданий сборки и выпуска.

Поддержка модуля Azure PowerShell Az

Azure PowerShell предоставляет набор командлетов, которые можно использовать для управления ресурсами Azure из командной строки. В декабре прошлого года стал доступен модуль Azure PowerShell Az, который теперь предназначен для управления ресурсами Azure.

Ранее мы не предоставляли поддержку модуля Azure PowerShell Az в размещенных агентах. В новой версии задачи Azure PowerShell версии 4.* в конвейерах сборки и выпуска мы добавили поддержку нового модуля Az для всех платформ. Azure PowerShell задача версии 3.* продолжит поддерживать модуль AzureRM. Однако, чтобы идти в ногу с новейшими службами и функциями Azure, рекомендуется как можно скорее перейти на Azure PowerShell задачи версии 4.*.

Модуль Az имеет режим совместимости, помогающий использовать существующие скрипты при их обновлении для использования нового синтаксиса. Чтобы включить совместимость для модуля Az, используйте Enable-AzureRmAlias команду . Псевдонимы позволяют использовать старые имена командлетов с модулем Az. Дополнительные сведения о переходе с модуля Azure RM на модуль Azure PowerShell Az см. здесь.

Примечание

Если вы используете частные агенты, необходимо установить модуль Az на компьютере агента.

Дополнительные сведения о модуле Azure PowerShell Az см. в документации здесь.

Поддержка проверки подлинности Azure Active Directory (AD) для задачи Azure SQL

Задача Azure SQL была расширена для поддержки подключения к базе данных с помощью Azure AD (встроенный пароль &) и строка подключения в дополнение к существующей поддержке проверки подлинности SQL Server.

Снимок экрана: диалоговое окно Azure SQL развертывание базы данных с выделенным параметром раскрывающегося списка

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

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

Пропуск непрерывной интеграции (CI) для фиксации

Теперь вы можете указать Azure Pipelines игнорировать фиксацию и пропустить запуск конвейера, который обычно активируется фиксацией. Просто включите [skip ci] в сообщение о фиксации HEAD фиксации, и Azure Pipelines пропустит CI. Вы также можете использовать любой из перечисленных ниже вариантов. Это поддерживается для фиксаций Azure Repos Git и GitHub Enterprise Server.

  • [skip ci] или [ci skip]
  • skip-checks: true или skip-checks:true
  • [skip azurepipelines] или [azurepipelines skip]
  • [skip azpipelines] или [azpipelines skip]
  • [skip azp] или [azp skip]
  • ***NO_CI***

Test Plans

Мини-приложение тренда результатов теста (дополнительно)

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

Снимок экрана: мини-приложение

Мини-приложение Тренд результатов теста (дополнительно) помогает находить выбросы в результатах теста и отвечать на такие вопросы, как: требуется ли выполнение тестов дольше, чем обычно? Какой тестовый файл или конвейер влияет на общую частоту проходов? Каковы мои длительные тесты?

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

  • Отображает тенденцию частоты проходов, а также количество результатов теста или продолжительности теста.
  • Представляет результаты тестирования на основе нескольких конвейеров сборки или конвейеров выпуска
  • Использование комбинированных параметров диаграммы для отображения двух метрик по одной и той же тенденции
  • Фильтрует количество тестов с течением времени по результатам теста
  • Фильтрует все результаты теста по ветви или тесту
  • Сложение метрик по атрибутам теста, таким как Priority или Environment
  • Группирование данных в тестовых файлах, владельцах или конвейерах

Мини-приложение легко настраивается, что позволяет использовать его в самых разных сценариях.

Предоставление общего доступа к результатам тестового запуска по URL-адресу

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

Уровни общего доступа включают:

  • Уровень выполнения
  • Уровень результата
  • Отдельная вкладка, выбранная в тестовом запуске
  • Общий доступ также совместим с любыми настроенными вкладками расширений

При совместном использовании URL-адреса зрители увидят результаты тестового запуска в полноэкранном режиме.

Artifacts

Пакеты NuGet с номерами версий SemVer 2.0.0

Ранее Azure Artifacts не поддерживал пакеты NuGet с номерами версий SemVer 2.0.0 (как правило, номера версий, содержащие часть метаданных сборки, которая обозначается +). Теперь вы можете сохранять пакеты из nuget.org, содержащих метаданные сборки, и отправлять собственные пакеты с метаданными сборки. Согласно спецификации SemVer и политике NuGet.org, метаданные сборки нельзя использовать для заказа пакетов. Таким образом, вы не можете публиковать и 1.0.0+build2 в 1.0.0+build1 Azure Artifacts (или nuget.org), так как эти версии будут считаться эквивалентными и, следовательно, подвержены ограничениям неизменяемости.

Сведения о происхождении пакетов

С помощью этого обновления мы немного упростили понимание происхождения ваших пакетов: кто или что их опубликовал и из какой фиксации исходного кода они поступили. Эти сведения заполняются автоматически для всех пакетов, опубликованных с помощью задач NuGet, npm, Maven и Twine Authenticate (для Python) в Azure Pipelines.

Статистика использования пакета

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

Снимок экрана: статистика использования пакета.

Поддержка пакетов Python

Azure Artifacts теперь может размещать пакеты Python: как пакеты, которые вы создаете самостоятельно, так и вышестоящий пакеты, сохраненные из общедоступного PyPI. Дополнительные сведения см. в записи блога с объявлением и в документации.

Теперь вы можете разместить все пакеты NuGet, npm, Maven и Python в одном веб-канале.

Снимок экрана: все пакеты, размещенные в одном веб-канале.

Вышестоящие источники для Maven

Вышестоящие источники теперь доступны для веб-каналов Maven. Сюда входят основной репозиторий Maven Central и веб-каналы Azure Artifacts. Чтобы добавить вышестоящие потоки Maven в существующий веб-канал, перейдите на страницу Параметры веб-канала, выберите сводную таблицу Вышестоящих источников, а затем выберите Добавить источник вышестоящий.

Снимок экрана: параметр

До сих пор многие задачи сборки, связанные с Артефактами, не обеспечивали полную поддержку прокси-инфраструктуры Azure Pipelines, что приводило к проблемам с использованием задач из локальных агентов. В этом обновлении мы добавили поддержку прокси-серверов для следующих задач:

  • Npm@1 (npm в конструкторе)
  • NuGetCommand@2 ("NuGet" в конструкторе): только команды восстановления и отправки
  • DotNetCoreCLI@2 (".NET Core" в конструкторе): только команды restore и nuget push
  • NpmAuthenticate@0, PipAuthenticate@0 и TwineAuthenticate@0 ("[тип] Проверка подлинности" в конструкторе). Эти задачи поддерживают прокси-серверы во время получения маркеров проверки подлинности, но по-прежнему необходимо настроить все последующие задачи, скрипты и инструменты для использования прокси-сервера. Другими словами, эти задачи не настраивают прокси-сервер для базового средства (npm, pip, twine).
  • NuGetToolInstaller@0, NodeTool@0, DotNetCoreInstaller@0 ('[тип] Installer' в конструкторе)

Все типы пакетов Артефакты, поддерживаемые в выпусках

До сих пор в типах артефактов Azure Artifacts в выпусках Pipelines поддерживались только пакеты NuGet. В этом обновлении поддерживаются все типы пакетов Azure Artifacts — Maven, npm и Python.

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

Ранее тип артефакта Azure Artifacts мог активироваться только при публикации новых версий пакета в веб-канале. Теперь мы также добавили поддержку представлений, чтобы вы могли активировать выпуски, когда пакеты, уже хочующиеся в веб-канале, будут повышены до представления.

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

До сих пор веб-каналы Azure Artifacts предлагали базовые политики хранения, которые запускали бы удаление старых версий пакетов при достижении "максимального количества версий на пакет". В этом обновлении мы добавили возможность пропускать недавно загруженные пакеты при выполнении этой очистки. Чтобы включить этот параметр, измените веб-канал и проверка флажок Пропустить недавно скачанные пакеты.

Делегирование пользователей, которые могут управлять веб-каналами

В Azure Artifacts администраторы коллекции проектов (PCA) всегда могли администрировать все веб-каналы на сервере Azure DevOps. В этом обновлении pcAs также могут предоставить эту возможность другим пользователям и группам, тем самым делегируя возможность управления любым веб-каналом.

Вики

Шаблоны Markdown для формул и видео

Больше не нужно запоминать синтаксис Markdown для добавления формул, видео и тегов YAML при редактировании вики-сайта. Теперь можно щелкнуть контекстное меню на панели инструментов и выбрать нужный вариант.

Снимок экрана: развернутое контекстное меню со следующими параметрами:

Внедрение результатов запроса Azure Boards на вики-сайте

Теперь можно внедрять Azure Boards результаты запроса на вики-страницу в виде таблицы. На рисунке ниже показан пример вики-страницы со списком всех выпущенных функций и всех активных ошибок в текущем спринте, внедренных в вики-сайт. Содержимое, отображаемое на странице, использует существующий запрос рабочего элемента. С помощью этой новой функции вы можете создавать динамическое содержимое и не беспокоиться об обновлении вики-страницы вручную.

Снимок экрана: внедренные Azure Boards результаты запроса, отображаемые на вики-сайте.

Результаты запроса можно добавить в два этапа:

  1. Нажмите кнопку "Результаты запроса" на панели инструментов редактирования.

Снимок экрана: развернутое контекстное меню с параметром

  1. Выберите необходимый запрос и нажмите кнопку "Вставить".

Результаты запроса теперь можно просмотреть в виде таблицы после сохранения страницы.

Снимок экрана: диалоговое окно

Шрифт monospaced для редактора Markdown вики-сайта

С появлением однопространствых шрифтов для вики-редактора Markdown удобочитаемость больше не является проблемой. Источник Markdown выглядит чистым и удобным для чтения. Приоритет этой функции определяется на основе этого запроса предложения.

Снимок экрана: вики-сайт со шрифтом monospaced.

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

Эта функция была приоритезирована на основе этого запроса на предложение.

Отображение состояния рабочего элемента на вики-страницах

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

Снимок экрана: улучшенные упоминания рабочих элементов.

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

@mention пользователи и группы

Теперь @mention вы можете использовать пользователей и группы на вики-странице. Это делает документы, такие как страница контактов команды, инструкции и документы знаний, более богатыми. На рисунке ниже показан пример ретроспективы спринта с задачами и ответственным лицом.

Снимок экрана: как это выглядит при <span class=@упоминание пользователей и групп". />

Кроме того, можно выбрать пользователя или группу из автозаполнения, введя "@" на странице редактирования вики-сайта. Указанное лицо также получит уведомление по почте.

Снимок экрана: автозаполнения, которые отображаются при вводе <span class=@упоминание". />

Наконец, можно также щелкнуть @mentioned пользователя, чтобы просмотреть сведения о профиле карта. Приоритет этой функции определяется на основе предложения этой функции.

Уведомления на вики-страницах

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

Снимок экрана: вики-страница Azure DevOps с параметром

Эта функция была приоритезирована на основе этого запроса предложения. Дополнительные сведения см. в нашей документации здесь.

Поддержка html-тегов

Теперь вы можете создавать более полное содержимое на вики-сайте с помощью html-тегов. Ознакомьтесь с приведенными ниже инструкциями по html-тегам.

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

    Снимок экрана: сворачиваемые разделы, созданные с тегами сведений и сводки.

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

    Это было приоритезировано на основе этого запроса предложения.

    Примечание

    Этот тег не поддерживается в браузерах Edge и Internet Обозреватель.

Улучшено создание и редактирование таблиц

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

  1. Создание таблицы из сетки

    Вам больше не нужно запоминать синтаксис таблицы Markdown. Теперь вы можете легко создать таблицу Markdown, выбрав из сетки 15 X 15. Просто выберите необходимое количество столбцов и строк, чтобы вставить таблицу одним щелчком мыши.

    Снимок экрана: пустая вики-страница с выбранным параметром

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

  2. Улучшенная удобочитаемость таблицы

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

    Снимок экрана: вики-страница с параметром Word Wrap и горизонтальной полосой прокрутки.

  3. Автоформатив таблиц Markdown

    Больше не нужно добавлять пробелы для выравнивания столбцов Markdown. С помощью кнопки Формат таблиц таблицы Markdown автоматически форматируются путем добавления пробелов в ячейки для выравнивания столбцов. Если у вас есть большие таблицы, используйте его с отключением переноса по словам , чтобы упростить чтение таблиц.

    Снимок экрана: вики-страница с указанным параметром

    Вы также можете использовать сочетание клавиш CTRL+SHIFT+F для форматирования таблиц.

Отчеты

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

Аналитика все чаще становится неотъемлемой частью azure DevOps. Это важная возможность для клиентов, чтобы помочь им принимать решения на основе данных.

В обновлении 1 мы рады сообщить, что клиентам больше не нужно расширение Analytics для использования Аналитики. Теперь клиенты могут включить аналитику в разделе "Параметры коллекции проектов". Это простой процесс, который находится прямо внутри продукта.

Вот как клиенты могут включить аналитику:

  1. Перейдите к разделу Параметры коллекции проектов:

Снимок экрана, показывающий, где найти параметр Аналитики.

  1. Щелкните Включить аналитику.

Снимок экрана: параметр

Вот и все! Для коллекции будут включено взаимодействие с аналитикой.

Для новых коллекций, созданных в обновлении 1 и Azure DevOps Server коллекций 2019 с установленным расширением Analytics, которые были обновлены, аналитика будет включена по умолчанию.

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


Отзывы

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


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