Continuous Deployment mit Azure DevOps
Wichtig
Benutzerdefinierte Befehle werden am 30. April 2026 eingestellt. Seit dem 30. Oktober 2023 können Sie keine neuen Anwendungen mit benutzerdefinierten Befehlen mehr in Speech Studio erstellen. Im Zusammenhang mit dieser Änderung wird LUIS am 1. Oktober 2025 eingestellt. Seit dem 1. April 2023 können Sie keine neuen LUIS-Ressourcen mehr erstellen.
In diesem Artikel erfahren Sie, wie Sie eine Continuous Deployment für Ihre Anwendungen für benutzerdefinierte Befehle einrichten können. Die Skripts zur Unterstützung des CI/CD-Workflows werden Ihnen zur Verfügung gestellt.
Voraussetzung
- Eine Anwendung für benutzerdefinierte Befehle für die Entwicklung (DEV)
- Eine Anwendung für benutzerdefinierte Befehle für die Produktion (PROD)
- Registrieren Sie sich für Azure Pipelines.
Exportieren/Importieren/Veröffentlichen
Die Skripts werden unter Sprachassistent – Benutzerdefinierte Befehle gehostet. Klonen Sie die Skripts im bash-Verzeichnis in Ihr Repository. Achten Sie darauf, dass Sie denselben Pfad beibehalten.
Einrichten einer Pipeline
Wechseln Sie zu Azure DevOps – Pipelines, und klicken Sie auf „Neue Pipeline“.
Wählen Sie im Abschnitt Verbinden den Speicherort Ihres Repositorys aus, an dem sich diese Skripts befinden.
Wählen Sie im Abschnitt Auswählen Ihr Repository aus.
Wählen Sie im Abschnitt Konfigurieren die Option „Starterpipeline“ aus.
Als Nächstes erhalten Sie einen Editor mit einer YAML-Datei. Ersetzen Sie den Abschnitt „Schritte“ durch dieses Skript.
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
Diese Skripts gehen davon aus, dass Sie die Region
westus2
verwenden. Falls dies nicht der Fall ist, aktualisieren Sie die Argumente der Aufgaben entsprechend.Öffnen Sie in der Schaltfläche „Speichern und ausführen“ die Dropdownliste, und wählen Sie „Speichern“ aus.
Verbinden der Pipeline mit Ihrer Anwendung
Navigieren Sie zur Hauptseite der Pipeline.
Wählen Sie in der Dropdownliste oben rechts die Option Pipeline bearbeiten aus. Damit gelangen Sie zu einem YAML-Editor.
Wählen Sie in der rechten oberen Ecke neben der Schaltfläche „Ausführen“ die Option Variablen aus. Wählen Sie New variable aus.
Fügen Sie folgende Variablen hinzu:
Variable BESCHREIBUNG SourceAppId ID der DEV-Anwendung TargetAppId ID der PROD-Anwendung SubscriptionKey Für beide Anwendungen verwendeter Schlüssel Kultur Kultur der Anwendungen (de-de) Wählen Sie „Ausführen“ und dann den ausgeführten Auftrag aus.
Es sollte eine Liste der ausgeführten Aufgaben mit folgenden Informationen angezeigt werden: „Quell-App exportieren“, „In Ziel-App importieren“ und „Ziel-App trainieren und veröffentlichen“.
Bereitstellen aus dem Quellcode
Für den Fall, dass Sie die Definition Ihrer Anwendung in einem Repository aufbewahren möchten, stellen wir die Skripts für Bereitstellungen aus dem Quellcode zur Verfügung. Da sich die Skripts in Bash befinden, müssen Sie, wenn Sie Windows verwenden, das Linux-Subsystem installieren.
Die Skripts werden unter Sprachassistent – Benutzerdefinierte Befehle gehostet. Klonen Sie die Skripts im bash-Verzeichnis in Ihr Repository. Achten Sie darauf, dass Sie denselben Pfad beibehalten.
Vorbereiten Ihres Repositorys
Erstellen Sie ein Verzeichnis für Ihre Anwendung, in unserem Beispiel erstellen Sie ein Verzeichnis namens „Apps“.
Aktualisieren Sie die Argumente des Bash-Skripts unten, und führen Sie es aus. Es importiert das Dialogmodell Ihrer Anwendung in die Datei „myapp.json“.
bash/export.sh -r <region> -s <subscriptionkey> -c en-us -a <appid> -f apps/myapp.json
Argumente BESCHREIBUNG region Ihre Speech-Ressourcenregion. Beispiel: westus2
subscriptionkey Ihr Speech-Ressourcenschlüssel. appid Die zu exportierende ID der Anwendung für benutzerdefinierte Befehle. Pushen Sie diese Änderungen in Ihr Repository.
Einrichten einer Pipeline
Wechseln Sie zu Azure DevOps – Pipelines, und klicken Sie auf „Neue Pipeline“.
Wählen Sie im Abschnitt Verbinden den Speicherort Ihres Repositorys aus, an dem sich diese Skripts befinden.
Wählen Sie im Abschnitt Auswählen Ihr Repository aus.
Wählen Sie im Abschnitt Konfigurieren die Option „Starterpipeline“ aus.
Als Nächstes erhalten Sie einen Editor mit einer YAML-Datei. Ersetzen Sie den Abschnitt „Schritte“ durch dieses Skript.
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
Hinweis
Diese Skripts gehen davon aus, dass Sie die Region „westus2“ verwenden. Falls dies nicht der Fall ist, aktualisieren Sie die Argumente der Aufgaben entsprechend.
Öffnen Sie in der Schaltfläche „Speichern und ausführen“ die Dropdownliste, und wählen Sie „Speichern“ aus.
Verbinden der Pipeline mit Ihren Zielanwendungen
Navigieren Sie zur Hauptseite der Pipeline.
Wählen Sie in der Dropdownliste oben rechts die Option Pipeline bearbeiten aus. Damit gelangen Sie zu einem YAML-Editor.
Wählen Sie in der rechten oberen Ecke neben der Schaltfläche „Ausführen“ die Option Variablen aus. Wählen Sie New variable aus.
Fügen Sie folgende Variablen hinzu:
Variable BESCHREIBUNG TargetAppId ID der PROD-Anwendung SubscriptionKey Für beide Anwendungen verwendeter Schlüssel Kultur Kultur der Anwendungen (de-de) Wählen Sie „Ausführen“ und dann den ausgeführten Auftrag aus. Es sollte eine Liste der ausgeführten Aufgaben mit folgenden Informationen angezeigt werden: „App importieren“ und „App trainieren und veröffentlichen“.