Поддержка GitHub Enterprise и автоматические подключения к службе GitHub в конвейерах сборки — обновление Sprint 146

В обновлении Sprint 146 Azure DevOps мы улучшили интеграцию GitHub с Azure Pipelines. Мастер Новый конвейер сборки теперь позволяет создавать конвейеры для репозиториев GitHub Enterprise. Также репозиторий анализируется и предоставляется рекомендуемый шаблон языка. Кроме того, он может создавать и повторно использовать подключения служб для выбранного репозитория GitHub.

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

Функции

Общие сведения:

Azure Boards:

Azure Pipelines.

Azure Artifacts:

Вики

Общие

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

В этом обновлении мы добавили возможность восстановления удаленных проектов на портале Azure DevOps. Если у вас есть разрешение "Удалить проект", вы также можете восстановить удаленный проект на странице обзора организации Параметры>.

Azure Boards

Упрощение организации работы с помощью базового процесса

Важно!

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

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

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

Organize work using the Basic process.

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

Azure Pipelines

Поддержка GitHub Enterprise в мастере конвейеров

Ранее можно использовать визуальный конструктор для создания конвейеров для репозиториев GitHub Enterprise. Теперь можно также использовать мастер создания конвейера сборки для создания конвейеров.

GitHub Enterprise support in the pipeline wizard.

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

Edit and save the YAML.

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

Автоматическое подключение к службе GitHub в конвейерах

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

Если вы хотите вручную выбрать подключение, отличное от выбранного автоматически, следуйте гиперссылке "Выбор подключения ". Дополнительные сведения см. в разделе "Сборка репозиториев GitHub".

Примечание.

Выбор зависит от приложения Azure Pipelines GitHub (если он установлен в репозитории) или личного удостоверения GitHub (с помощью OAuth).

Отображение сведений о состоянии для каждого задания конвейера в API проверок GitHub

Ранее одно состояние сборки было размещено в GitHub Checks для конвейера, даже если оно включало задания для нескольких платформ (например, Linux, macOS и Windows). Теперь состояние публикуется в GitHub Checks для каждого задания в конвейере. Кроме того, можно повторно запустить всю сборку или только отдельные неудачные задания из проверок GitHub. Чтобы использовать эту функцию, конвейер должен быть настроен для использования приложения GitHub Azure Pipelines. Дополнительные сведения см. в разделе "Интеграция с приложением GitHub". Сведения о настройке конвейера с заданиями для нескольких платформ см. в статье "Создание конвейера с несколькими платформами".

Display status for each pipeline job.

Авторизация по умолчанию для ресурсов YAML в GitHub

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

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

Default authorization for YAML resources.

Контейнеры служб для конвейеров YAML

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

Связывание рабочих элементов с фиксациями GitHub в сводке по выпуску

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

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

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

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

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

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

Azure AD authentication support for Azure SQL task.

Перехватчик события для заметок Grafana

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

Grafana annotations service hook.

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

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

Query Azure Monitor alerts tasks.

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

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

Inline input of spec file in Deploy to Kubernetes task.

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

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

Docker CLI Installer task.

Долгосрочная поддержка (LTS) Java размещенными агентами Майкрософт

Ранее размещенные агенты Майкрософт предварительно установили JDKs, которые были перегружены сложным лицензированием, ограничениями конечных пользователей и отсутствием долгосрочной поддержки. В этом обновлении мы заменили JDK проверенными, сертифицированными, LTS сборками OpenJDK из Azul Systems. Разработчики Java, использующие Azure, теперь могут создавать и запускать рабочие приложения Java с помощью сборок Azul Systems Zulu Enterprise OpenJDK без дополнительных затрат на поддержку.

Это новое предложение предназначено для создания сборки и развертываний Java, размещаемых корпорацией Майкрософт, без проблем путем включения квартальных обновлений системы безопасности и исправлений ошибок, а также критически важных обновлений и исправлений по мере необходимости. Если вы сейчас создаете или работаете с приложениями Java в локальной среде или с другими JDK, рассмотрите возможность перехода в Zulu в Azure для бесплатной поддержки и обслуживания. Дополнительные сведения см. в блоге Майкрософт и Azul Systems с бесплатной поддержкой Java LTS в Azure.

Поддержка YAML для конвейеров Bitbucket Cloud

Ранее конвейеры на основе YAML не поддерживали Bitbucket Cloud. Теперь вы можете использовать YAML для определения конвейеров Bitbucket Cloud или использовать визуальный конструктор для того, чтобы сделать то же самое. Чтобы использовать YAML, добавьте в репозиторий файл azure-pipelines.yml . В Azure Pipelines выберите новый конвейер сборки, а затем щелкните "Использовать гиперссылку визуального конструктора ", выберите "Bitbucket Cloud" и "YAML". Здесь можно ввести путь к YAML-файлу репозитория.

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

Предотвращение активации нескольких сборок CI для запросов на вытягивание

Шаблоны сборки YAML, включенные в Azure Pipelines, были настроены для активации сборок для любой ветви в репозитории. Это включало ветви ветвей запроса на вытягивание. В результате при создании запросов на вытягивание были активированы две сборки. Одна сборка для ветви запроса на вытягивание в ответ на триггер непрерывной интеграции и вторая сборка для ветви запроса на вытягивание в ответ на триггер запроса на вытягивание.

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

trigger:
- main

Изменение номеров сборок, отправка и скачивание артефактов в сборках разветвленных репозиториев

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

Ниже приведен пример YAML, который можно использовать для архивации выходных данных сборки в файле tar.gz в промежуточном каталоге артефакта. Затем он публикует выходные данные в Azure Pipelines, которые будут связаны с сборкой. Дополнительные сведения см. в документации по задаче "Архивные файлы" и задаче "Публикация артефактов сборки".

- task: ArchiveFiles@2
  inputs:
    archiveType: 'tar'
    tarCompression: 'gz'
    includeRootFolder: false
    rootFolderOrFile: '$(build.sourcesDirectory)/target'
    archiveFile: '$(build.artifactStagingDirectory)/$(build.buildId).tar.gz'
- task: PublishBuildArtifacts@1
  inputs:
    pathtoPublish: '$(build.artifactStagingDirectory)'

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

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

Теперь мы добавили параметр в задачу, чтобы завершить сборку, если есть какие-либо неудачные тесты.

Fail the build if there are any failed tests.

Обновления на портал Azure для создания проекта Azure DevOps

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

Платформа

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

Use the Simple IoT as the application framework.

Служба

Ранее рабочий процесс создания проекта Azure DevOps на портале Azure поддерживается только в качестве параметра для службы Kubernetes. Добавлен новый параметр, позволяющий выбрать существующий кластер в качестве целевого объекта развертывания для установки конвейера.

Choose an existing cluster as the deployment target for the pipeline setup.

Использование портала Azure для настройки и развертывания в базе данных CosmosDB

В настоящее время можно использовать рабочий процесс Проекта Azure DevOps на портале Azure для настройки конвейеров сборки и выпуска для репозитория Git. Теперь вы можете развернуть веб-приложение Azure для контейнеров (Linux) или Служба Azure Kubernetes с помощью CosmosDB, подготовленной в качестве базы данных, резервной копии приложений на этих целевых объектах. Сейчас это доступно для всех шаблонов Node.js, и мы ожидаем добавить поддержку других шаблонов в будущем.

Use the Azure Portal to set up and deploy to an Azure Cosmos DB database.

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

Теперь можно использовать рабочий процесс Проекта Azure DevOps на портале Azure для настройки конвейеров сборки и выпуска репозитория Git, развертывающего Функции Azure 2.0 (Windows). Эта функция доступна для Node.js и .NET Core.

Set up builds and release pipelines for Functions in Azure portal.

Azure Artifacts

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

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

Package usage stats.

Вики

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

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

Monospaced font for Wiki Markdown editor.

Полужирные заголовки вики-страницы

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

Bold Wiki page titles.

Вставка таблицы Markdown

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

Insert Markdown table.

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

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

Embed Azure Boards query results in Wiki.

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

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

Select the Query Results button from the edit toolbar.

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

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

View results of the query.

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

  1. Запросы рабочих элементов в вики-сайте
  2. Добавление динамического вики-содержимого

Следующие шаги

Примечание.

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

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

Отправка отзыва

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

Make a suggestion

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

Thanks,

Джереми Эплинг