Déploiement continu avec Azure DevOps

Important

Les commandes personnalisées seront supprimées le 30 avril 2026. Depuis le 30 octobre 2023, vous ne pouvez pas créer de nouvelles applications Commandes personnalisées dans Speech Studio. En lien avec ce changement, LUIS sera mis hors service le 1er octobre 2025. Depuis le 1er avril 2023, vous ne pouvez pas créer de ressources LUIS.

Dans cet article, vous allez apprendre à configurer un déploiement continu pour vos applications Commandes personnalisées. Les scripts pour prendre en charge le workflow CI/CD vous sont fournis.

Configuration requise

  • Une application Commandes personnalisées pour le développement (DEV)
  • Une application Commandes personnalisées pour la production (PROD)
  • S’inscrire à Azure Pipelines

Exportation/importation/publication

Les scripts sont hébergés dans Assistant vocal : Commandes personnalisées. Clonez les scripts du répertoire bash dans votre référentiel. Veillez à conserver le même chemin d’accès.

Configurer un pipeline

  1. Accédez à Azure DevOps – Pipelines, puis cliquez sur « Nouveau Pipeline »

  2. Dans la section Connect (Connexion), sélectionnez l’emplacement de votre référentiel dans lequel se trouvent ces scripts

  3. Dans la section Select (Sélection), sélectionnez votre référentiel

  4. Dans la section Configure (Configuration), sélectionnez « Starter pipeline » (Pipeline de démarrage)

  5. Vous obtenez alors un éditeur avec un fichier YAML et remplacez la section « étapes » par ce script.

    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
    
  6. Ces scripts supposent que vous utilisez la région westus2. Si ce n’est pas le cas, mettez à jour les arguments des tâches en conséquence

    Screenshot that highlights the region value in the arguments.

  7. Dans le bouton « Enregistrer et exécuter », ouvrez la liste déroulante et sélectionnez « Enregistrer »

Raccorder le pipeline à votre application

  1. Accédez à la page principale du pipeline.

  2. Dans la liste déroulante dans l’angle supérieur droit, sélectionnez Modifier le pipeline. Elle vous permet d’accéder à un éditeur YAML.

  3. Dans l’angle supérieur droit en regard du bouton « Exécuter », sélectionnez Variables. Sélectionnez Nouvelle variable.

  4. Ajoutez ces variables :

    Variable Description
    SourceAppId ID de l’application DEV
    TargetAppId ID de l’application PROD
    SubscriptionKey Clé utilisée pour les deux applications
    Culture Culture des applications (en-US)

    Send Activity payload

  5. Sélectionnez « Exécuter », puis le « Travail » en cours d’exécution.

    Vous devriez voir une liste des tâches en cours d’exécution contenant les éléments suivants : « Exporter l’application source », « Importer dans l’application cible » et « Former et publier l’application cible »

Déployer à partir de code source

Si vous souhaitez conserver la définition de votre application dans un référentiel, nous fournissons les scripts pour les déploiements à partir du code source. Du fait que les scripts sont dans Bash, vous devez installer le sous-système Linux si vous utilisez Windows.

Les scripts sont hébergés dans Assistant vocal : Commandes personnalisées. Clonez les scripts du répertoire bash dans votre référentiel. Veillez à conserver le même chemin d’accès.

Préparer votre dépôt

  1. Créez un répertoire pour votre application ; dans notre exemple, créez-en un nommé « apps ».

  2. Mettez à jour les arguments du script bash ci-dessous, puis exécutez le script. Il importe le modèle de boîte de dialogue de votre application dans le fichier myapp.json

    bash/export.sh -r <region> -s <subscriptionkey> -c en-us -a <appid> -f apps/myapp.json
    
    Arguments Description
    region Région de votre ressource Speech. Par exemple : westus2
    subscriptionkey Clé de votre ressource Speech.
    appid ID de l’application Commandes personnalisées que vous souhaitez exporter.
  3. Envoyez ces modifications à votre référentiel.

Configurer un pipeline

  1. Accédez à Azure DevOps – Pipelines, puis cliquez sur « Nouveau Pipeline »

  2. Dans la section Connect (Connexion), sélectionnez l’emplacement de votre référentiel dans lequel se trouvent ces scripts

  3. Dans la section Select (Sélection), sélectionnez votre référentiel

  4. Dans la section Configure (Configuration), sélectionnez « Starter pipeline » (Pipeline de démarrage)

  5. Vous obtenez alors un éditeur avec un fichier YAML et remplacez la section « étapes » par ce script.

    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
    

    Remarque

    ces scripts supposent que vous utilisez la région westus2 ; si ce n’est pas le cas, mettez à jour les arguments des tâches en conséquence

  6. Dans le bouton « Enregistrer et exécuter », ouvrez la liste déroulante et sélectionnez « Enregistrer »

Raccorder le pipeline à vos applications cibles

  1. Accédez à la page principale du pipeline.

  2. Dans la liste déroulante dans l’angle supérieur droit, sélectionnez Modifier le pipeline. Elle vous permet d’accéder à un éditeur YAML.

  3. Dans l’angle supérieur droit en regard du bouton « Exécuter », sélectionnez Variables. Sélectionnez Nouvelle variable.

  4. Ajoutez ces variables :

    Variable Description
    TargetAppId ID de l’application PROD
    SubscriptionKey Clé utilisée pour les deux applications
    Culture Culture des applications (en-US)
  5. Sélectionnez « Exécuter », puis le « Travail » en cours d’exécution. Vous devriez voir une liste des tâches en cours d’exécution contenant les éléments suivants : « Importer l’application » et « Former et publier l’application »

Étapes suivantes