Непрерывное развертывание с помощью Azure DevOps
Важно!
Пользовательские команды будут прекращены 30 апреля 2026 года. По состоянию на 30 октября 2023 г. в Speech Studio нельзя создавать новые приложения пользовательских команд. В связи с этим изменением LUIS будет прекращена 1 октября 2025 года. По состоянию на 1 апреля 2023 г. невозможно создать новые ресурсы LUIS.
В этой статье вы узнаете, как настроить непрерывное развертывание для приложений Пользовательских голосовых команд. Вам предоставляются скрипты для поддержки рабочего процесса CI/CD.
Необходимые условия
- Приложение "Пользовательские голосовые команды команд для среды разработки (DEV)"
- Приложение "Пользовательские голосовые команды команд для рабочей среды (PROD)"
- Регистрация в Azure Pipelines
Экспорт, импорт и публикация
Скрипты размещаются в голосовом помощнике — пользовательские команды. Клонируйте скрипты из каталога Bash в репозиторий. Убедитесь, что вы используете тот же путь.
Настройка конвейера
Перейдите в Azure DevOps — конвейеры и выберите "Создать конвейер"
В разделе Подключение выберите расположение репозитория, в котором находятся эти скрипты.
В разделе Выбор выберите свой репозиторий.
В разделе Настройка выберите "Начальный конвейер".
Затем вы получите редактор с файлом YAML, замените раздел "шаги" этим скриптом.
steps: - task: Bash@3 displayName: 'Export source app' inputs: targetType: filePath filePath: ./bash/export.sh arguments: '-r westus2 -s $(SubscriptionKey) -c $(Culture) -a $(SourceAppId) -f ExportedDialogModel.json' workingDirectory: bash failOnStderr: true - task: Bash@3 displayName: 'Import to target app' inputs: targetType: filePath filePath: ./bash/import.sh arguments: '-r westus2 -s $(SubscriptionKey) -c $(Culture) -a $(TargetAppId) -f ExportedDialogModel.json' workingDirectory: bash failOnStderr: true - task: Bash@3 displayName: 'Train and Publish target app' inputs: targetType: filePath filePath: './bash/train-and-publish.sh' arguments: '-r westus2 -s $(SubscriptionKey) -c $(Culture) -a $(TargetAppId)' workingDirectory: bash failOnStderr: true
Эти скрипты предполагают, что вы используете регион
westus2
, если это не так, обновите аргументы задач соответствующим образом.В раскрывающемся списке нажмите кнопку "Сохранить и запустить" и нажмите кнопку "Сохранить"
Подключение конвейера к приложению
Перейдите на главную страницу конвейера.
В раскрывающемся списке в правом верхнем углу выберите Изменить конвейер. Откроется редактор YAML.
В правом верхнем углу рядом с кнопкой "Выполнить" выберите Переменные. Выберите новую переменную.
Добавьте следующие переменные.
«Переменная» Description SourceAppId Идентификатор приложения для среды разработки TargetAppId Идентификатор приложения для рабочей среды SubscriptionKey Ключ, используемый для обоих приложений Культура Язык и региональные параметры приложений (en-us) Выберите "Выполнить", а затем выберите "Задание".
Отобразится список выполняемых задач, который содержит пункты "Экспорт исходного приложения", "Импорт в целевое приложение" и "Обучение и публикация целевого приложения".
Развертывание из исходного кода
Если требуется сохранить определение приложения в репозитории, мы предоставляем скрипты для развернутых служб из исходного кода. Так как скрипты находятся в bash, если вы используете Windows, необходимо установить подсистему Linux.
Скрипты размещаются в голосовом помощнике — пользовательские команды. Клонируйте скрипты из каталога Bash в репозиторий. Убедитесь, что вы используете тот же путь.
Подготовка репозитория
Создайте каталог для приложения; в нашем примере следует создать каталог с именем "Приложения".
Обновите аргументы скрипта Bash ниже и запустите скрипт. Он импортирует модель диалогов приложения в файл myapp.json
bash/export.sh -r <region> -s <subscriptionkey> -c en-us -a <appid> -f apps/myapp.json
Аргументы Description регион Регион ресурса "Речь". Например: westus2
subscriptionkey Ключ ресурса службы "Речь". appid Идентификатор приложения "Пользовательские голосовые команды", которое требуется экспортировать. Передайте эти изменения в репозиторий.
Настройка конвейера
Перейдите в Azure DevOps — конвейеры и выберите "Создать конвейер"
В разделе Подключение выберите расположение репозитория, в котором находятся эти скрипты.
В разделе Выбор выберите свой репозиторий.
В разделе Настройка выберите "Начальный конвейер".
Затем вы получите редактор с файлом YAML, замените раздел "шаги" этим скриптом.
steps: - task: Bash@3 displayName: 'Import app' inputs: targetType: filePath filePath: ./bash/import.sh arguments: '-r westus2 -s $(SubscriptionKey) -c $(Culture) -a $(TargetAppId) -f ../apps/myapp.json' workingDirectory: bash failOnStderr: true - task: Bash@3 displayName: 'Train and Publish app' inputs: targetType: filePath filePath: './bash/train-and-publish.sh' arguments: '-r westus2 -s $(SubscriptionKey) -c $(Culture) -a $(TargetAppId)' workingDirectory: bash failOnStderr: true
Примечание.
Эти скрипты предполагают, что вы используете регион westus2. Если это не так, обновите аргументы задач соответствующим образом.
В раскрывающемся списке нажмите кнопку "Сохранить и запустить" и нажмите кнопку "Сохранить"
Подключение конвейера к целевым приложениям
Перейдите на главную страницу конвейера.
В раскрывающемся списке в правом верхнем углу выберите Изменить конвейер. Откроется редактор YAML.
В правом верхнем углу рядом с кнопкой "Выполнить" выберите Переменные. Выберите новую переменную.
Добавьте следующие переменные.
«Переменная» Description TargetAppId Идентификатор приложения для рабочей среды SubscriptionKey Ключ, используемый для обоих приложений Культура Язык и региональные параметры приложений (en-us) Выберите "Выполнить", а затем выберите "Задание". Отобразится список выполняемых задач, который содержит пункты "Импорт приложения" и "Обучение и публикация целевого приложения".