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

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

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

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

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

Общие

Расширенная безопасность GitHub для Azure DevOps

Azure Boards:

Azure Repos

Azure Pipelines

Azure Artifacts

Вики

Общие

Копирование блока кода в буфер обмена

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

Снимок экрана: копирование в буфер обмена.

Сведения о профиле Microsoft Entra (предварительная версия)

Мы рады представить интеграцию сведений профиля Microsoft Entra в Azure DevOps, удалив необходимость отдельных обновлений профилей. Чтобы попробовать предварительную версию, включите сведения о профиле Microsoft Entra в функциях предварительной версии.

Снимок экрана: включение сведений о профиле Microsoft Entra.

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

Расширенная безопасность GitHub для Azure DevOps

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

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

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

Щелкнув Show more details заметку, вы перейдете к представлению сведений об оповещении для соответствующего оповещения.

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

Новая стратегия обнаружения pip для проверки зависимостей

Теперь проверка зависимостей использует новую стратегию обнаружения для Python: PipReport на основе функциональных возможностей отчета о установке pip. Это обновление повышает точность, учитывая описатели среды, чтобы определить точные версии, которые будет извлекать реальный pip install запуск. По умолчанию детектор используется pypi.org для создания граф зависимостей. При необходимости можно задать переменную среды конвейера, PIP_INDEX_URL чтобы создать граф зависимостей вместо этого. Если есть проблемы с проверкой подлинности для доступа к веб-каналу, может потребоваться PipAuthenticate@1 настройка задачи конвейера, чтобы получить доступ к веб-каналу.

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

Azure Boards

Расширенное управление тегами в форме рабочего элемента

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

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

Мы улучшили нашу поддержку вставки изображений в комментарии рабочих элементов. Теперь вы можете вставлять изображения непосредственно из источников, таких как Microsoft Teams, сообщения электронной почты и документы Word, в раздел обсуждения рабочего элемента.

Аналитика запросов на вытягивание GitHub

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

Gif для демонстрации расширенных аналитических сведений о запросе на вытягивание GitHub.

Чтобы включить эту функцию, убедитесь, что вы перейдете в приложение Boards в GitHub, чтобы принять запрошенные обновленные разрешения для доступа на чтение и запись в Проверки.

Azure Repos

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

Управление несколькими ветвями в репозитории может быть сложной задачей, особенно при создании новых запросов на вытягивание. С помощью новой функции настройки целевых ветвей для запросов на вытягивание теперь можно указать список предпочтительных целевых ветвей, гарантируя, что предложения по запросу на вытягивание являются более точными и актуальными. Это помогает оптимизировать рабочий процесс и снизить вероятность того, что она нацелена на неправильную ветвь. Чтобы использовать эту функцию, создайте .azuredevops/pull_request_targets.yml файл в ветвь по умолчанию репозитория. Этот файл YAML должен содержать список pull_request_targets с именами ветви или префиксами, соответствующими ветвям кандидата. Например:

pull_request_targets:
  - main
  - release/*
  - feature/*

В этой конфигурации основная ветвь имеет приоритет, но ветви, начиная с release/ или feature/ также будут рассматриваться при необходимости. Конфигурация применяется в следующих сценариях:

  • Предложения по запросу на вытягивание. После отправки ветви в Azure DevOps страница Репозитория может предложить создать запрос на вытягивание из этой ветви, динамически выбрав целевую ветвь.
  • URL-адрес запроса на вытягивание. При переходе непосредственно на страницу создания запроса на вытягивание с помощью параметра sourceRef, но пропуская параметр targetRef, Azure DevOps выбирает целевую ветвь на основе этого динамического выбора.

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

Поддержка схем русалок в предварительной версии файла Markdown

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

Azure Pipelines

Ubuntu 24.04 в размещенных агентах Azure Pipelines

Образ Ubuntu 24.04 теперь доступен для размещенных агентов Azure Pipelines. Чтобы использовать этот образ, обновите файл YAML, чтобы включить vmImage:'ubuntu-24.04':

- job: ubuntu2404
  pool:
    vmImage: 'ubuntu-24.04'
  steps:
  - bash: |
      echo Hello from Ubuntu 24.04
      lsb_release -d

Примечание.

Метка ubuntu-latest образа будет продолжать указывать на ubuntu-22.04 до конца этого года.

См. модуль чтения образа Ubuntu 24.04 для установленного программного обеспечения.

Использование федерации удостоверений рабочей нагрузки в тестах интеграции Azure

В июне библиотеки удостоверений Azure for.NET, C++, Go, Java, JavaScript и Python добавили поддержку федерации удостоверений рабочей нагрузки. Это добавило возможность выполнения кода из AzureCLI@2 и AzurePowerShell@5 задач для проверки подлинности с помощью Microsoft Entra (например, для доступа к Azure) с AzurePipelinesCredential помощью класса.

Многие клиенты используют библиотеки удостоверений Azure в тестах интеграции, вызываемых из других задач. Теперь мы добавили поддержку DotNetCoreCLI@2 AzurePipelinesCredential, Maven@4 и VSTest@3 задач.

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

- task: DotNetCoreCLI@2
  inputs:
    command: 'run'
    connectedService: <Azure service connection configured with workload identity federation>
  env:
    SYSTEM_ACCESSTOKEN: $(System.AccessToken)

Дополнительные сведения см. в AzurePipelinesCredentialэтой записи блога.

Создание нового интерфейса подключения к службе Azure с улучшенной поддержкой управляемого удостоверения

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

При создании подключения к службе Azure Resource Manager различные параметры настройки удостоверения теперь доступны в одном едином диалоговом окне, который заменяет различные элементы верхнего уровня, используемые ранее:

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

Тип удостоверения содержит все схемы проверки подлинности, поддерживаемые подключением службы Azure:

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

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

Поддержка управляемого удостоверения подключения службы Azure

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

Затем создайте подключение службы Azure и выберите тип управляемого удостоверения . Это настраивает федеративные учетные данные удостоверения в управляемом удостоверении.

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

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

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

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

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

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

Поле "Справочник по управлению службами"

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

Дополнительные сведения

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

Запуск дочерних этапов при сбое родительского этапа

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

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

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

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

Azure Artifacts

Проверка подлинности в Azure Artifacts с помощью общедоступного веб-канала и Cargo

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

Теперь пользователи, прошедшие проверку подлинности, могут подключаться к общедоступному веб-каналу Артефактов Azure, так же как и к частному веб-каналу. Если у вас или агента конвейера есть разрешение на сохранение пакетов из вышестоящих источников, вы можете получить доступ к пакетам из crates.io через веб-канал. Это изменение дает контроль над тем, какие пакеты могут прийти в веб-канал обратно в руках администраторов веб-каналов. После передачи пакетов в веб-канал из вышестоящего источника анонимные пользователи получат к ним доступ.

Чтобы обеспечить проверку подлинности, добавьте ~force-auth имя веб-канала в URL-адрес реестра. Дополнительные сведения см. в общедоступной документации.

Вики

Улучшение вставки содержимого на основе HTML в Вики-сайт

Мы облегчили вставку html-содержимого в вики-страницы. Теперь HTML-элементы, такие как ссылки, списки, таблицы, изображения, листы Excel, сообщения Microsoft Teams, сообщения электронной почты и запросы Azure Data Explorer, автоматически преобразуются в синтаксис Markdown для более плавного редактирования.

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

Примечание.

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

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

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

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

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

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

Thanks,

Дэн Хеллем