Azure Artifacts упрощает интеграцию с другими службами

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

Функции

Azure Boards

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

Azure Artifacts

Azure Boards

Добавьте фильтр "Родительский рабочий элемент" на доску задач и в список невыполненной работы в спринте.

Мы добавили новый фильтр как на доску спринта, так и в бэклог спринта. Это позволяет фильтровать элементы невыполненной работы уровня требований (первый столбец слева) по родительскому элементу. Например, на снимке экрана ниже мы отфильтровали представление, чтобы отобразить только пользовательские истории, где родительский элемент — "Моя большая функция".

Добавление фильтра родительского рабочего элемента.

Улучшить процесс обработки ошибок — обязательные поля в отчётах об ошибках или заданиях.

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

Выберите сообщение об ошибке, чтобы просмотреть сведения.

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

Предварительная версия агентов для масштабируемых наборов

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

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

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

Предварительная версия Ubuntu 20.04 для хранимых пулов Azure Pipelines

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

Обратите внимание, что образ ubuntu 20.04 находится в предварительной версии, в настоящее время он не поддерживает все средства, доступные в ubuntu-18.04. Подробнее

Поддержка пакетов GitHub в конвейерах YAML

Мы недавно представили новый тип ресурса packages, который добавляет поддержку работы с пакетами NuGet и npm из GitHub в качестве ресурса в конвейерах YAML. В рамках этого ресурса теперь можно указать тип пакета (NuGet или npm), который требуется использовать из GitHub. Вы также можете включить автоматические триггеры конвейера при выпуске новой версии пакета. Сегодня поддержка доступна только для использования пакетов из GitHub, но мы планируем расширить поддержку использования пакетов из других репозиториев пакетов, таких как NuGet, npm, AzureArtifacts и многое другое. Дополнительные сведения см. в следующем примере:

resources:
  packages:
    - package: myPackageAlias # alias for the package resource
      type: Npm # type of the package NuGet/npm
      connection: GitHubConn # GitHub service connection of type PAT
      name: nugetTest/nodeapp # <Repository>/<Name of the package>
      version: 1.0.9 # Version of the package to consume; Optional; Defaults to latest
      trigger: true # To enable automated triggers (true/false); Optional; Defaults to no triggers

Примечание. Сегодня пакеты GitHub поддерживают только проверку подлинности на основе PAT, что означает, что подключение службы GitHub в ресурсе пакета должно иметь тип PAT. После отмены этого ограничения мы предоставим поддержку для других типов проверки подлинности.

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

- job: job1
  pool: default
  steps:
    - getPackage: myPackageAlias # Alias of the package resource

Azure Artifacts

Уведомления о деактивированных вышестоящих источниках

Веб-интерфейс Azure Artifacts теперь уведомляет вас о том, что один или несколько вышестоящих источников вашего фида не работает. Источники upstream позволяют направить фид (Фид A) на другой фид (Фид B) и позволяют потребителям Фида A получать доступ к пакетам из Фида B без необходимости напрямую подключаться к нему. Дополнительные сведения о вышестоящих источниках см. в документации по Azure Artifacts. Входящие источники могут не функционировать, если они отключены на исходном участке, например, если канал B удален без уведомления, клиенты не смогут получать пакеты из него через канал A. В прошлом такая ситуация могла возникнуть без предупреждения и привести к трудностям в диагностике рабочих проблем, таким как внезапные разрывы сборки из-за отсутствия зависимостей (т.е. пакетов, происходящих из канала B в приведенном выше примере). Теперь Артефакты Azure будут предупреждать вас, когда возникают проблемы с любыми входящими источниками ваших фидов. При возникновении проблемы на странице сведений о потоке артефактов Azure появится баннер (ниже обозначен красной стрелкой).

Красная стрелка на странице сведений о канале Azure Artifacts.

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

Значки в столбце «Последняя синхронизация».

Щелкнув время последней синхронизации для неисправного вышестоящего источника, откроется диалоговое окно с дополнительными сведениями о первопричине проблемы (при наличии). Например, на рисунке ниже источник исходного потока не работает, так как целевая лента была удалена. Диалоговое окно также содержит ссылку на журнал аудита, чтобы понять, кто в последнее время внес соответствующие изменения. Ссылки на параметры разрешений и документацию по Артефактам Azure также можно использовать для изучения первопричины.

Пример удаления целевого веб-канала.

Выражения лицензий и встраиваемые лицензии

Теперь вы можете просмотреть сведения о лицензии для пакетов NuGet, хранящихся в azure Artifacts при просмотре пакетов в Visual Studio. Это относится к лицензиям, которые представлены с помощью выражений лицензий или внедренных лицензий. Теперь вы увидите ссылку на сведения о лицензии на странице сведений о пакете Visual Studio (красная стрелка на рисунке ниже).

Ссылка на сведения о лицензии.

Щелкнув ссылку, вы перейдете на веб-страницу, где можно просмотреть сведения о лицензии. Этот интерфейс одинаков как для выражений лицензий, так и для внедренных лицензий, поэтому вы можете просматривать сведения о лицензиях для пакетов, хранящихся в Azure Artifacts в одном месте (для пакетов, которые указывают сведения о лицензии и поддерживаются Visual Studio).

Просмотр сведений о лицензии.

Упрощенные задачи проверки подлинности

Теперь вы можете аутентифицироваться с помощью популярных менеджеров пакетов из Azure Pipelines, используя лёгкие задачи аутентификации. К ним относятся NuGet, npm, PIP, Twine и Maven. Ранее вы могли пройти проверку подлинности с помощью этих менеджеров пакетов, используя задачи, которые предоставляли большое количество функциональных возможностей, включая возможность публикации и скачивания пакетов. Для этого требовалось использовать эти задачи для всех действий, взаимодействующих с диспетчерами пакетов. Если у вас есть собственные скрипты для выполнения таких задач, как публикация или скачивание пакетов, вы не сможете использовать их в конвейере. Теперь вы можете использовать сценарии собственного дизайна в YAML конвейера и проводить аутентификацию с помощью этих новых легковесных задач. Пример использования npm:

img

Использование команды ci и publish на этом рисунке является произвольным, можно использовать любые команды, поддерживаемые YAML Azure Pipelines. Это позволяет получить полный контроль над вызовом команд и упростить использование общих скриптов в конфигурации конвейера. Дополнительные сведения см. в документации по задаче проверки подлинности NuGet, npm, PIP, Twine и Maven .

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

Замечание

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

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

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

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

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

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

Спасибо,

Аарон Холлберг