Проверка соответствия конвейера и безопасности — обновление Sprint 141

В обновлении Sprint 141 Azure DevOps Services теперь можно включить проверки соответствия и безопасности в Azure Pipelines. В Azure Repos можно изменить целевую ветвь пул-реквестов.

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

Функции

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

Azure Pipelines.

Azure Repos.

Администрация:

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

Замечание

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

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

General

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

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

Ниже приведено поле поиска по умолчанию:

Поле поиска по умолчанию

После ввода "/" появится развернутое поле поиска:

Расширенное окно поиска

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

Проверки соответствия и безопасности политик Azure в конвейерах

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

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

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

Политика Azure

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

шаблон Политика Azure

Упрощенное непрерывное развертывание на виртуальных машинах Azure

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

CI для виртуальных машин Azure

Задача Xcode поддерживает новый выпуск Xcode 10

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

Xcode 10

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

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

Создание подключения службы Azure с использованием субъекта-службы, который выполняет аутентификацию на основе сертификата

Теперь можно определить подключение службы Azure в Azure Pipelines или Team Foundation Server (TFS) с помощью учетной записи службы и сертификата для аутентификации. Теперь подключение службы Azure поддерживает сервисный объект, который проходит проверку подлинности с помощью сертификата, вы можете развернуть в Azure Stack, настроенном с использованием AD FS. Чтобы создать субъект-службу с проверкой подлинности сертификата, ознакомьтесь со статьей о создании субъекта-службы, который проходит проверку подлинности с помощью сертификата.

Подключение к служебному принципалу

Просмотр тестовой аналитики в Pipelines

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

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

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

Тестирование аналитики

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

Azure Repos

Изменение целевой ветки pull request'а

Для большинства команд почти все запросы на вытягивание нацелены на одну и ту же ветвь, например master или develop. Однако в случае, когда вам нужно выбрать другую ветвь, легко забыть изменить целевую ветвь по умолчанию. С появлением новой функции по изменению целевой ветки у активного pull request это теперь простое действие. Щелкните значок карандаша рядом с именем целевой ветви в заголовке запроса на вытягивание.

Изменение целевой ветви

Помимо простого исправления ошибок, функция изменения целевых ветвей также упрощает "перенацеливание" запроса на вытягивание при слиянии или удалении целевой ветви. Рассмотрим сценарий, в котором вы используете pull request, предназначенный для фиче-ветки, который содержит функциональность, от которой зависят ваши изменения. Вы хотите просмотреть зависимые изменения в изоляции от других изменений в функциональной ветке, поэтому вы изначально нацелены на features/new-feature. Затем рецензенты могут видеть только ваши изменения и оставлять соответствующие комментарии.

Теперь рассмотрим, что произойдет, если в функциональной ветке также был активен PR, и она была объединена с master до внесения ваших изменений? Ранее вам приходилось бы отказаться от ваших изменений и создать новый PR в master, или объединить ваш PR в features/new-feature, а затем создать другой PR из features/new-feature в master. С помощью этого нового действия для обновления целевой ветки вы можете просто изменить целевую ветку PR с features/new-feature на master, сохраняя весь контекст и комментарии. Изменение целевой ветви даже создает новое обновление на PR, что упрощает просмотр предыдущих диффов перед изменением целевой ветви.

Обновление целевой ветви

Защита репозиториев Git с использованием параметров кроссплатформенной совместимости

Так как Git — это кроссплатформенная технология, файлы или каталоги могут найти свой путь к файловой системе, где они могут быть несовместимы на определенной платформе. Подробные сведения об этих несовместимости см. в нашей документации.

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

Administration

Поддержка пользователей AAD в учетных записях MSA

Azure DevOps теперь поддерживает пользователей AzureAD (AAD), обращаюющихся к организациям, которые поддерживаются MSA. Для администраторов это означает, что если ваша организация Azure DevOps использует MSAs для корпоративных пользователей, теперь вы можете получить доступ к новым сотрудникам с помощью учетных данных AAD вместо создания нового удостоверения MSA исключительно для использования с Azure DevOps.

Мы по-прежнему считаем, что лучший опыт для корпоративных пользователей — подключить Azure DevOps к AAD, но в начале этого года мы узнали, что администраторам нужно больше времени для этого подключения. Позволив пользователям AAD в организации, поддерживаемые MSA, новые пользователи смогут получить доступ к Azure DevOps после того, как Azure DevOps предотвратил создание новых пользователей MSA с пользовательскими доменными именами, поддерживаемыми AzureAD в конце месяца.

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

Ниже приведен пример сценария, в котором этот интерфейс может оказаться полезным: Dorothy является владельцем организации Azure DevOps для своей компании Fabrikam. Она и её команда из 10 человек входят в Azure DevOps, используя учетные записи MSA с корпоративными адресами электронной почты, например Dorothy@fabrikam.com. Сэм является новым членом команды, который присоединился к компании сегодня. Dorothy приглашает его в Azure DevOps с помощью электронной почты. sam@fabrikam.com Когда он щелкает ссылку на присоединение теперь по электронной почте, он может войти в Azure DevOps с тем же удостоверением AAD, который он получил для доступа к электронной почте с помощью Microsoft 365. Это позволяет Сэму сотрудничать со своими 11 коллегами и дает Дороти свободу подключить ее организацию Azure DevOps к AAD, когда она готова.

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

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

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

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

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

Спасибо,

Gopinath Chigakkagari (Twitter)