Создание панели мониторинга без команды — обновление Sprint 162

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

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

См. список функций ниже для получения дополнительной информации.

Функции

Azure Repos.

Azure Pipelines.

Отчётность:

Azure Repos

новые целевые страницы для конверсии веб-платформы.

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

Веб-интерфейс:

Новые лендинг страницы для конверсии веб-платформ.

Мобильный интерфейс:

Целевые страницы для конверсии на новых мобильных платформах.

Пример новых целевых страниц мобильной платформы.

Поддержка языка Kotlin

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

Поддержка языка Kotlin.

Azure Pipelines (система конвейеров Azure)

обновлен пользовательский интерфейс многоэтапных конвейеров;

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

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

Обновлен пользовательский интерфейс многоэтапных конвейеров.

в пользовательском интерфейсе задач доступно свойство VSTest TestResultsDirectory;

Задача VSTest хранит результаты теста и связанные файлы в папке $(Agent.TempDirectory)\TestResults . Мы добавили параметр в пользовательский интерфейс задачи, чтобы настроить другую папку для хранения результатов теста. Теперь все последующие задачи, которые нуждаются в файлах в определенном расположении, могут использовать их.

Параметр VSTest TestResultsDirectory доступен в пользовательском интерфейсе задачи.

Использование ключевого слова extends в конвейерах

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

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


# azure-pipelines.yml
extends:
  template: build-template.yml
  parameters:
    runTests: true
    postBuildSteps:
    - script: echo This step runs after the build!
    - script: echo This step does too!

# build-template.yml
parameters:
- name: runTests
  type: boolean
  default: false
- name: postBuildSteps
  type: stepList
  default: []
steps:
- task: MSBuild@1   # this task always runs
- ${{ if eq(parameters.runTests, true) }}:
  - task: VSTest@2  # this task is injected only when runTests is true
- ${{ each step in parameters.postBuildSteps }}:
  - ${{ step }}

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

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

Поддержка Markdown в сообщениях об ошибках автоматического тестирования.

Собирать автоматически и заданные пользователем метаданные из конвейера.

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

Сбор автоматических и заданных пользователем метаданных из конвейера.

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

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

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

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

Авторизация конвейера и утверждения и проверки.

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

Замечание

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

Развертывания виртуальных машин с окружениями

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

Развертывания виртуальных машин с средами.

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

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

jobs:
- deployment:
  displayName: web
  environment:
    name: musicCarnivalProd
    resourceType: VirtualMachine
  strategy:                 
    rolling:
      maxParallel: 5 #for percentages, mention as x%
      preDeploy:
        steps:
        - script: echo initialize, cleanup, backup, install certs...
      deploy:              
        steps:                                     
        - script: echo deploy ...      
      routeTraffic:
        steps:
        - script: echo routing traffic...   
      postRouteTraffic:
        steps:          
        - script: echo health check post routing traffic...  
      on:
        failure:
          steps:
          - script: echo restore from backup ..     
        success:
          steps:
          - script: echo notify passed...

Замечание

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

пропуск этапов в конвейере YAML.

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

Обновленная панель конвейера запуска представляет список этапов из ФАЙЛА YAML, и вы можете пропустить один или несколько этих этапов. При пропуске этапов необходимо соблюдать осторожность. Например, если первый этап создает определенные артефакты, необходимые для последующих этапов, то не следует пропускать первый этап. На панели выполнения отображается универсальное предупреждение всякий раз, когда вы пропускаете этапы с подчиненными зависимостями. Решение оставлено вам, являются ли эти зависимости истинными зависимостями артефактов или они просто присутствуют для упорядочивания развертываний.

Пропуск этапов в конвейере YAML.

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

Чтобы изменить, какие этапы пропускаются, запустите новый запуск.

Отчетность

встроенная миниатюра диаграммы сгорания спринта

Спринт Берндаун вернулся! Несколько спринтов тому назад мы удалили информацию о спринте в контексте из заголовков Sprint Burndown и Taskboard. Воспользовавшись вашей обратной связью, мы улучшили и снова ввели миниатюру, показывающую снижение задач в спринте.

Встроенная миниатюра диаграммы спринта.

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

создание панели мониторинга, не связанной с командой.

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

Создайте панель мониторинга без команды.

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

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

Обновлены мини-приложения Azure DevOps, требующие контекста команды.

Замечание

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

Дальнейшие шаги

Замечание

Эти функции будут развернуты в течение следующих двух-трех недель.

Перейдите к Azure DevOps и посмотрите.

Как предоставить отзыв

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

Внести предложение

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

Спасибо,

Джефф Билер