Установка нейтрального статуса в GitHub при выполнении проверки с правилом исключения пути

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

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

Замечание

28 сентября 2021 г. компания Axosoft уведомила Azure DevOps об уязвимости в зависимости их популярного графического интерфейса для Git – GitKraken. Посмотрите запись в блоге, чтобы узнать больше деталей.

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

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

Публикация нейтрального статуса в GitHub при пропуске сборки

С помощью Azure Pipelines вы всегда можете проверить запрос на вытягивание в GitHub. Можно также указать, какие пути в репозитории GitHub должны активировать конвейер. Например, следующий конвейер активируется при отправке code изменения в ветвь main , но не активируется при отправке изменения в папку docs .

trigger: none

pr:
 branches:
   include:
     - main
 paths:
   include:
     - code
   exclude:
     - docs

pool:
  vmImage: ubuntu-latest

steps:
- script: echo Hello, world!
  displayName: 'Run a one-line script'

После завершения конвейера Azure Pipelines опубликует состояние обратно в GitHub. Если у вас были политики защиты ветвей для репозитория GitHub, то статус, размещенный Azure Pipelines, определял, будет ли объединён запрос на слияние.

В приведенном выше примере, если вы внесли изменения в docs, GitHub в настоящее время блокирует pull request, ожидая возврата статуса от Azure Pipelines. Однако Azure Pipelines не запускает сборку проверки, поскольку этот путь не входит в триггер, что не позволяет завершить pull request. Клиенты, настраивающие триггеры исключения пути или несколько конвейеров для одного репозитория GitHub, часто сталкиваются с этой проблемой.

В дальнейшем Azure Pipelines будет отправлять neutral статус обратно в GitHub, если будет принято решение не запускать сборку для проверки из-за правила исключения путей. Это обеспечит четкое направление на GitHub, указывающее, что Azure Pipelines завершил свою обработку.

Просмотр переписки:

Режим беседы

Проверьте сведения:

Проверка сведений

Доступ ко всем конвейерам отключен по умолчанию в защищенных ресурсах

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

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

Новое подключение службы Azure

Внедрение задачи до или после указанных целевых задач с помощью декоратора

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

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

ms.azure-pipelines-agent-job.pre-task-tasks
ms.azure-pipelines-agent-job.post-task-tasks
ms.azure-release-pipelines-agent-job.pre-task-tasks
ms.azure-release-pipelines-agent-job.post-task-tasks

Ниже приведен пример декоратора, который встраивает задачу перед каждым экземпляром задачи PublishPipelineArtifacts в поток обработки.

{
    "manifestVersion": 1,
    "contributions": [
        {
            "id": "my-required-task",
            "type": "ms.azure-pipelines.pipeline-decorator",
            "targets": [
                "ms.azure-pipelines-agent-job.pre-task-tasks"
            ],
            "properties": {
                "template": "my-decorator.yml",
                "targettask": "ECDC45F6-832D-4AD9-B52B-EE49E94659BE"
            }
        }
    ],
    "files": [
        {
            "path": "my-decorator.yml",
            "addressable": true,
            "contentType": "text/plain"
        }
    ]
}

Объявление о графике устаревания для размещённых образов Windows 2016

Недавно мы сделали Windows 2022 доступным в качестве размещенного образа. В связи с предстоящим завершением основной поддержки Windows 2016 в январе 2022 года мы начинаем устаревание vs2017-win2016 образов, начиная с 15 ноября. Полное прекращение использования этого изображения запланировано на март 2022 года. Так как это часто используемый образ, мы хотели дать достаточное уведомление и время, чтобы внести необходимые изменения в конвейеры.

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

Объявление об упразднении поддержки размещённых образов macOS 10.14

Недавно мы сделали macOS-11 доступным в качестве размещенного образа. В результате мы снимаем с поддержки образ macOS-10.14 в декабре 2021 года. Сборки, основанные на этом образе, завершатся сбоем, когда он будет объявлен устаревшим. Дополнительные сведения об устаревании различных изображений можно найти в записи в блоге.

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

Замечание

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

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

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

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

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

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

Спасибо,

Vijay Machiraju