Публикация расширения

После создания расширения Azure Developer CLI (azd) упакуйте и опубликуйте его в реестре, чтобы другие пользователи могли его установить. В этой статье показано, как опубликовать пример расширения Contoso Resource Tagger из краткого руководства «Создание примера расширения». К любому расширению можно применить те же действия.

Замечание

Общедоступная azd платформа расширений. Отдельные расширения или возможности могут иметь собственное состояние предварительной версии.

Выбор реестра

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

  • Официальный реестр: реестр, который поставляется с azd. Чтобы опубликовать здесь, отправьте запрос на включение изменений в форк репозитория azure/azure-dev.
  • Пользовательский реестр на основе URL-адресов: манифест удаленного реестра, на котором размещается ваша команда для общедоступного или частного распространения.
  • Файловый реестр: локальный манифест реестра для разработки, тестирования, автономного использования или частного распространения.
  • Разработка или ночной реестр: реестр согласия на выполнение работы или автоматически созданные сторонние расширения. Расширения в реестре разработчиков не подписываются, не охватываются поддержка Azure и могут изменяться или удаляться без уведомления.
  • Переносимый пакет: .zip автономный пакет, который пользователи устанавливают непосредственно из локального пути или URL-адреса HTTPS без добавления источника реестра.

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

Необходимые условия

  • Готовое расширение из краткого руководства по созданию тестового расширения.
  • azd Расширение для разработчиков (microsoft.azd.extensions), содержащее команды azd x, используемые для упаковки и публикации. Если вы выполнили руководство по быстрому началу, всё уже установлено. В противном случае выполните команду azd extension install microsoft.azd.extensions.
  • Учетная запись GitHub и репозиторий для размещения артефактов релиза.
  • Личный токен доступа GitHub (PAT) с областью действия repo. Команда release использует этот токен для создания релизов на GitHub и загрузки артефактов. Дополнительные сведения см. в разделе "Управление личными маркерами доступа".

Обновление версии и журнала изменений

Перед публикацией обновите версию и задокументируйте изменения:

  1. Обновите свойство version в extension.yaml в соответствии с семантическим версионированием. Увеличьте номер основной, второстепенной версии или патча в зависимости от типа изменения.

  2. Обновите CHANGELOG.md с учетом важных изменений в этой версии. azd использует журнал изменений для создания примечаний к выпуску.

Упакуйте расширение

Используйте команду azd x pack для создания двоичных файлов под конкретную платформу и упаковки расширения:

azd x pack

Команда создает артефакты для каждой поддерживаемой платформы в выходном каталоге. azd x release отправляет эти артефакты и azd x publish обновляет метаданные реестра. Упаковка также выполняет тесты моментальных снимков, чтобы проверить поведение расширения, как ожидалось, перед публикацией.

Если вы хотите распространить расширение напрямую, а не публиковать его через реестр, создайте автономный пакет с azd x pack --bundle. Пакет является переносимым .zip , который содержит метаданные реестра и артефакты, необходимые для установки из пути к файлу или URL-адресу HTTPS.

Выпустите расширение

Используйте команду azd x release для создания релиза GitHub и загрузки упакованных артефактов. Предоставьте свой персональный токен доступа GitHub (PAT), чтобы команда могла создать релиз:

azd x release

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

Tip

Сохраните GitHub PAT в переменной среды, а не передайте ее в командной строке. Проверьте справку команды, выполнив azd x release --help, чтобы увидеть поддерживаемые варианты аутентификации.

Публикация в реестре

azd x publish Используйте команду, чтобы добавить или обновить запись расширения в реестре расширений:

azd x publish

Команда обновляет метаданные реестра, чтобы пользователи могли обнаруживать и устанавливать расширение из реестра разработки. Этот шаг отличается от локальной публикации, которую azd x init выполняет в кратком руководстве и которая регистрирует расширение только в локальном источнике на вашем компьютере. Запуск команды azd x publish обновляет общий реестр разработки, чтобы другие пользователи могли установить ваше расширение.

Установка и проверка

После публикации убедитесь, что другие пользователи могут установить расширение из реестра разработки:

  1. Убедитесь, что вы уже добавили реестр разработки.

    azd extension source add -n dev -t url -l "https://aka.ms/azd/extensions/registry/dev"
    
  2. Установите расширение по идентификатору.

    azd extension install contoso.azd.tagger
    
  3. Выполните команду, чтобы подтвердить работу расширения.

    azd tagger show
    

Публикация в официальном реестре

Чтобы опубликовать в официальном реестре, отправьте расширение в репозиторий azure/azure-dev:

  1. Создайте вилку репозитория azure/azure-dev.
  2. Добавьте запись о расширении в реестр в официальный файл реестра в вашем форке.
  3. Отправьте pull request на ревью.

Команда Azure Developer CLI проверяет официальные заявки в реестр на соответствие требованиям качества и безопасности перед их слиянием.

Устранение неполадок при публикации

В следующей таблице перечислены распространенные проблемы публикации и их решения:

Issue Резолюция
Не удается выполнить развертывание из-за ошибки аутентификации Убедитесь, что ваш GitHub PAT действителен и имеет область действия repo.
Снэпшот-тесты не проходят во время azd x pack Просмотрите результаты выполнения теста, обновите снапшоты, если эти изменения ожидаемы, и запустите команду снова.
Пользователи не могут найти расширение Убедитесь, что реестр для разработки добавлен и что выполнение azd x publish завершилось успешно.
Конфликт версий во время публикации Увеличьте номер версии version в extension.yaml до нового, ещё не использованного значения.