Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После создания расширения 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 и загрузки артефактов. Дополнительные сведения см. в разделе "Управление личными маркерами доступа".
Обновление версии и журнала изменений
Перед публикацией обновите версию и задокументируйте изменения:
Обновите свойство
versionвextension.yamlв соответствии с семантическим версионированием. Увеличьте номер основной, второстепенной версии или патча в зависимости от типа изменения.Обновите
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 обновляет общий реестр разработки, чтобы другие пользователи могли установить ваше расширение.
Установка и проверка
После публикации убедитесь, что другие пользователи могут установить расширение из реестра разработки:
Убедитесь, что вы уже добавили реестр разработки.
azd extension source add -n dev -t url -l "https://aka.ms/azd/extensions/registry/dev"Установите расширение по идентификатору.
azd extension install contoso.azd.taggerВыполните команду, чтобы подтвердить работу расширения.
azd tagger show
Публикация в официальном реестре
Чтобы опубликовать в официальном реестре, отправьте расширение в репозиторий azure/azure-dev:
- Создайте вилку репозитория azure/azure-dev.
- Добавьте запись о расширении в реестр в официальный файл реестра в вашем форке.
- Отправьте pull request на ревью.
Команда Azure Developer CLI проверяет официальные заявки в реестр на соответствие требованиям качества и безопасности перед их слиянием.
Устранение неполадок при публикации
В следующей таблице перечислены распространенные проблемы публикации и их решения:
| Issue | Резолюция |
|---|---|
| Не удается выполнить развертывание из-за ошибки аутентификации | Убедитесь, что ваш GitHub PAT действителен и имеет область действия repo. |
Снэпшот-тесты не проходят во время azd x pack |
Просмотрите результаты выполнения теста, обновите снапшоты, если эти изменения ожидаемы, и запустите команду снова. |
| Пользователи не могут найти расширение | Убедитесь, что реестр для разработки добавлен и что выполнение azd x publish завершилось успешно. |
| Конфликт версий во время публикации | Увеличьте номер версии version в extension.yaml до нового, ещё не использованного значения. |