Публикация из командной строки
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Кроссплатформенный интерфейс командной строки для Azure DevOps (tfx-cli) можно использовать для публикации расширения в Visual Studio Marketplace.
Дополнительные сведения см. в обзоре публикации, установки и совместного использования.
Необходимые условия
Получите интерфейс командной строки TFX из менеджера пакетов Node.js и создайте токен Microsoft Entra или личный токен доступа (PAT). Кроме того, если вы еще не сделали этого, настройте Издателя в Галерее.
Получите кроссплатформенный интерфейс командной строки для Azure DevOps
Если у вас его нет, скачайте и установите NodeJS. Во время настройки убедитесь, что вы оставили выбрано Добавить в PATH.
Откройте командную строку и введите
npm i -g tfx-cli
.
Если у вас уже установлен интерфейс командной строки TFX, можно обновить до последнего выпуска, выполнив npm up -g tfx-cli
.
Публикация с помощью токена Microsoft Entra в качестве субъекта-службы
Также можно опубликовать расширение в качестве субъекта-службы.
Добавьте субъект-службу в качестве участника в учетную запись издателя. Идентификатор учетной записи службы можно получить из профиля, используя Profiles - Get. Затем вы можете добавить учетную запись службы в качестве участника к издателю, используя идентификатор из предыдущего шага.
Опубликуйте расширение через TFX CLI , используя сервисного принципала. Выполните следующую команду TFX CLI, чтобы использовать его токен доступа:
tfx extension publish --publisher my-publisher --vsix my-publisher.my-extension-1.0.0.vsix --auth-type pat -t <ENTRA_TOKEN>
Публикация через личный токен доступа
Войдите в организацию (
https:dev.azure.com/{organization}
).На домашней странице откройте значок параметров пользователя, и выберите Профиль.
В разделе Безопасностьвыберите Личные маркеры доступа, а затем выберите новый маркер.
Заполните форму:
- Дайте токену имя
- Выберите Все доступные организации, что является единственным значением, которое работает при публикации через CLI. Если выбрать только одну организацию, это приведет к ошибке, даже если ПАТ является допустимым
- Выберите срок действия токена. Это необходимо, так как API публикации Visual Studio Marketplace работают вне контекста организации.
- Задайте область доступа, связанную с этим маркером. Обязательно выберите область Marketplace (публикация). Эта область ограничивает маркер только возможностью публикации расширений в Marketplace.
- Выберите Создать
Скопируйте созданный личный маркер доступа. Не забудьте сохранить это в тайне.
После установки TFX CLI и получения вашего токена вы можете использовать это средство для упаковки и публикации вашего расширения.
- Откройте командную строку в корневом каталоге расширения.
- Выполните следующую команду, чтобы опубликовать расширение. При появлении запроса введите токен для аутентификации.
tfx extension publish --publisher <YOUR_PUBLISHER_ID> --manifest-js <YOUR_EXTENSION_MANIFEST> --share-with <ACCOUNT_NAME>
Потенциальные ошибки
Если расширение уже опубликовано, может появиться следующая ошибка:
Failed Request: Internal Server Error(500) - Version number must increase each time an extension is published. Extension: fabrikam.my-extension Current version: 0.1.9 Updated version: 0.1.9
Вы можете добавить флаг --rev-version
, чтобы автоматически увеличить версию исправления до в вашем расширении. Это также сохраняет новую версию в манифесте.
Заметка
Для команды publish
доступны все параметры, доступные для create
.
Пример
C:\vso-team-calendar>tfx extension publish --publisher publishFabrikam --manifest-js fabrikam.config.js --share-with fabrikam --rev-version
Copyright Microsoft Corporation
> Personal access token:
Checking if this extension is already published
It is, update the extension
Waiting for server to validate extension package...
Sharing extension with fabrikam.
=== Completed operation: publish extension ===
- Packaging: C:\vso-team-calendar\fabrikam.team-calendar-0.2.6.vsix
- Publishing: success
- Sharing: shared with fabrikam