Déploiement continu avec Azure DevOps

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 Cognitive Services - 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 et cliquez sur « New Pipeline » (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 « steps » (é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. Notez que 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 cliquez sur « 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. Cliquez sur Nouvelle variable.

  4. Ajoutez ces variables :

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

    Send Activity payload

  5. Cliquez sur « Exécuter », puis sur 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 : « Export source app », « Import to target app » et « Train and Publish target app »

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. Comme que les scripts sont de type bash, si vous utilisez Windows, vous devez installer le sous-système Linux.

Les scripts sont hébergés dans Assistant vocal Cognitive Services - 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. Le modèle de boîte de dialogue de votre application est importé 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 l’application, soit westus2.
    subscriptionkey clé d’abonnement 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 et cliquez sur « New Pipeline » (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 « steps » (é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
    

    Notes

    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 cliquez sur « 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. Cliquez sur Nouvelle variable.

  4. Ajoutez ces variables :

    Variable Description
    TargetAppId ID de l’application PROD
    SubscriptionKey Clé d’abonnement utilisée pour les deux applications
    Culture Culture des applications (par exemple, en-US)
  5. Cliquez sur « Exécuter », puis sur 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 : « Import app » et « Train and Publish app »

Étapes suivantes