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

| Сообщество разработчиков System Requirements | Terms License Terms | DevOps Blog | SHA-1 Hashes

В этой статье содержатся сведения о новейшем выпуске для 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 или более поздней версии. Если развертывание Team Foundation Server находится на Team Foundation Server 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 с исправлением 1: 12 июля 2022 г.

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

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

дата выпуска обновления 1.2 Azure DevOps Server 2019 г.: 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, которое включает исправления для следующих компонентов.

  • Уведомления по электронной почте не были отправлены при использовании @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 с обновлением 12: 15 сентября 2021 г.

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

  • Исправьте макрос рабочего элемента для запросов с помощью слова "Contains Words". Ранее запросы возвращали неверные результаты для значений, содержащих разрыв строки.
  • Проблема локализации для пользовательских состояний макета рабочих элементов.
  • Проблема локализации в шаблоне уведомлений по электронной почте.
  • Проблема с вычислением правил 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 CheckInstalldevops2019.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: уязвимость межстраничного скрипта
  • Конвейер сборки показывает неправильное подключение для несанкционированных пользователей при выборе другого источника Git.
  • Исправлена ошибка при изменении наследования на on or Off в определении сборки 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: уязвимость к повышению привилегий


дата выпуска обновления 1.1 RTW Azure DevOps Server 2019 г.: 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 выполняется медленно.
  • В тестовом случае при открытии из досок (в отличие от Test Plans), сведения о общем шаге не открываются.

Общее

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

  • Высокая загрузка памяти.
  • Серверы с конфигурациями подсистемы балансировки нагрузки должны были явно добавить их открытый источник в запись реестра AllowedOrigins.
  • Клиенты, устанавливающие на SQL Azure, не видят диалоговое окно "Полная пробная версия".
  • Установка расширений дает ошибку "Сообщение об ошибке отсутствует вклад (ms.vss-dashboards-web.widget-sdk-version-2)".
  • При настройке эластичного поиска возникает ошибка: "Пользователь не авторизован".
  • Сбои индексирования и запросов в эластичном поиске при обновлении с Team Foundation Server 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 примерно через три недели после этого выпуска. Список поддерживаемых сейчас версий для импорта см. здесь.


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

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


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

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

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

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


Общее

Темная тема

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

Темная тема

Boards

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

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

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

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

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

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

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

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

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

Включение функции компонентов

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

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

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

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

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

ReadME репозитория часто является домом, к которому обращается ваша команда проектов, чтобы получить сведения о том, как внести свой вклад в решение и использовать его. Теперь, как и в случае с состоянием сборки или развертывания в Azure Pipelines, вы можете добавить в файл СВЕДЕНИЙ значок для платы вашей команды в Azure Boards. Вы можете настроить эмблему так, чтобы отображались только столбцы "Выполняется" или все столбцы, и даже сделать эмблему открытой, если проект открытый код.

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

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

Снимок экрана: индикатор событий в файле README на сайте GitHub.

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

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

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

Каждый из этих макросов также принимает новую строку модификатора, которая позволяет перемещать данные по разным единицам даты. Например, можно написать запрос, чтобы найти все рабочие элементы, завершенные в первом квартале этого года, запросив дату изменения >состояния = @StartOfYear и дату <изменения состояния = @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-адресом проблемы. Дополнительные сведения см. в документации по GitHub & Azure Boards.

Снимок экрана: ссылка вручную в Azure Boards с URL-адресом проблемы GitHub.

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

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

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

Repos

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

Снимок экрана: параметры различания рядом с курсором, наведенным на измененное содержимое show.

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Go — это открытый код язык программирования, также называемый Голангом. В 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

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

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

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, включая WebApps, FunctionApps, WebApps for Containers и FunctionApp for Containers на платформах 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, созданный с помощью этой задачи:

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

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

Снимок экрана: файл

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

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

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

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

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

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

Два пункта вклада:

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

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

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

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

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

Запуск после агента

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

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

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

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

Развертывание в неудачных целевых объектах в группе развертывания

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

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

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

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

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

Обработчик службы заметок Grafana

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

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

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

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

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

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

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

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

Задача установщика Docker CLI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Публикация в очередях сеансов Служебная шина 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 для надстроек трассировки сведений об исходной организации, проекте, конвейере и запуске.

  • Выпекать манифест . Действие выпекания задачи позволяет создавать диаграммы 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.

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

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

До сих пор было ограничение, запрещающее отправку артефактов сборки с путями длиной более 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

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

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

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

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

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

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

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

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

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

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

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

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

Artifacts

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

Ранее Azure Artifacts не поддерживали пакеты NuGet с номерами версий SemVer 2.0.0 (как правило, номера версий, содержащие часть метаданных сборки версии, которая обозначается a +). Теперь вы можете сохранить пакеты из nuget.org, содержащих метаданные сборки, и отправить собственные пакеты с метаданными сборки. Согласно спецификации SemVer и политике NuGet.org метаданные сборки нельзя использовать для упорядочивания пакетов. Таким образом, вы не можете опубликовать и 1.0.0+build11.0.0+build2 в 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" в конструкторе): только команды восстановления и push-уведомлений NuGet
  • NpmAuthenticate@0, PipAuthenticate@0 и TwineAuthenticate@0 ("[тип] Проверка подлинности" в конструкторе): эти задачи поддерживают прокси-серверы во время получения маркеров проверки подлинности, но все равно необходимо настроить все последующие задачи, скрипты и инструменты для использования прокси-сервера. Другими словами, эти задачи не настраивают прокси-сервер для базового инструмента (npm, pip, twine).
  • NuGetToolInstaller@0, NodeTool@0, DotNetCoreInstaller@0 ("[тип] Установщик" в конструкторе)

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

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

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

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

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

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

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

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

Вики

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

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

Снимок экрана: развернутое контекстное меню со следующими параметрами: оглавление, видео, тег YAML и формулы.

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

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

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

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

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

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

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

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

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

Шрифт Monospaced для редактора Wiki Markdown

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поддержка тегов HTML

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

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

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

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

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

    Примечание

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

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

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

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

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

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

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

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

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

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

  3. Автоматическая форма таблиц Markdown

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

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

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

Отчеты

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

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

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

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

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

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

  1. Нажмите кнопку "Включить аналитику"

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

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

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

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


Отзывы

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


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