Implementación continua con Azure DevOps

Importante

Comandos personalizados se retirará el 30 de abril de 2026. Desde el 30 de octubre de 2023 no se puede crear nuevas aplicaciones de Comandos personalizados en Speech Studio. En relación con este cambio, LUIS se retirará el 1 de octubre de 2025. Desde el 1 de abril de 2023, no se pueden crear nuevos recursos de LUIS.

En este artículo, aprenderá a configurar la implementación continua para sus aplicaciones de Comandos personalizados. Se le proporcionarán los scripts para admitir el flujo de trabajo de CI/CD.

Requisito previo

  • Una aplicación de Comandos personalizados para desarrollo (DEV)
  • Una aplicación de Comandos personalizados para producción (PROD)
  • Suscribirse a Azure Pipelines

Exportación, importación, publicación

Los scripts están hospedados en la carpeta Asistente de voz: comandos personalizados. Clone los scripts del directorio de Bash de su repositorio. Asegúrese de conservar la misma ruta de acceso.

Configuración de una canalización

  1. Vaya a Azure DevOps: Pipelines y seleccione "Nueva canalización"

  2. En la sección Conectar, seleccione la ubicación del repositorio en el que se encuentran estos scripts.

  3. En la sección Seleccionar, seleccione el repositorio.

  4. En la sección Configurar, seleccione "Canalización inicial".

  5. A continuación, se muestra un editor con un archivo YAML, y debe reemplazar la sección "steps" por este 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. Estos scripts suponen que usa la región westus2; en caso contrario, actualice los argumentos de las tareas según corresponda

    Screenshot that highlights the region value in the arguments.

  7. En el botón "Guardar y ejecutar", abra la lista desplegable y haga clic en "Guardar"

Establecimiento de un enlace entre la canalización y la aplicación

  1. Diríjase a la página principal de la canalización.

  2. En la lista desplegable de la esquina superior derecha, seleccione Editar la canalización. Se mostrará un editor de YAML.

  3. En la esquina superior derecha, junto al botón "Ejecutar", seleccione Variables. Seleccione Nueva variable.

  4. Agregue estas variables:

    Variable Descripción
    SourceAppId Id. de la aplicación de desarrollo
    TargetAppId Id. de la aplicación de producción
    SubscriptionKey Clave usada para ambas aplicaciones
    Referencia cultural Referencia cultural de las aplicaciones (inglés de Estados Unidos)

    Send Activity payload

  5. Seleccione "Ejecutar" y, a continuación, seleccione el "Trabajo" en ejecución.

    Debería aparecer una lista de tareas en ejecución que contiene lo siguiente: "Exportar aplicación de origen", "Importar a la aplicación de destino" y "Entrenar y publicar aplicación de destino"

Implementación desde el código fuente

En caso de que quiera conservar la definición de la aplicación en un repositorio, le proporcionaremos los scripts para las implementaciones desde el código fuente. Dado que los scripts están en Bash, si usa Windows, deberá instalar el subsistema de Linux.

Los scripts están hospedados en la carpeta Asistente de voz: comandos personalizados. Clone los scripts del directorio de Bash de su repositorio. Asegúrese de conservar la misma ruta de acceso.

Preparación del repositorio

  1. Cree un directorio para la aplicación; en nuestro ejemplo, cree uno denominado "apps".

  2. Actualice los argumentos en el siguiente script de Bash y ejecútelo. Se importa el modelo de diálogo de la aplicación en el archivo myapp.json

    bash/export.sh -r <region> -s <subscriptionkey> -c en-us -a <appid> -f apps/myapp.json
    
    Argumentos Descripción
    region Su región del recurso de Voz. Por ejemplo: westus2
    subscriptionkey Clave del recurso de Voz.
    appid el id. de la aplicación de Comandos personalizados que quiere exportar.
  3. Inserte estos cambios en el repositorio.

Configuración de una canalización

  1. Vaya a Azure DevOps: Pipelines y seleccione "Nueva canalización"

  2. En la sección Conectar, seleccione la ubicación del repositorio en el que se encuentran estos scripts.

  3. En la sección Seleccionar, seleccione el repositorio.

  4. En la sección Configurar, seleccione "Canalización inicial".

  5. A continuación, se muestra un editor con un archivo YAML, y debe reemplazar la sección "steps" por este 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
    

    Nota:

    Estos scripts suponen que usa la región westus2; en caso contrario, actualice los argumentos de las tareas según corresponda.

  6. En el botón "Guardar y ejecutar", abra la lista desplegable y haga clic en "Guardar"

Establecimiento de un enlace entre la canalización y las aplicaciones de destino

  1. Diríjase a la página principal de la canalización.

  2. En la lista desplegable de la esquina superior derecha, seleccione Editar la canalización. Se mostrará un editor de YAML.

  3. En la esquina superior derecha, junto al botón "Ejecutar", seleccione Variables. Seleccione Nueva variable.

  4. Agregue estas variables:

    Variable Descripción
    TargetAppId Id. de la aplicación de producción
    SubscriptionKey Clave usada para ambas aplicaciones
    Referencia cultural Referencia cultural de las aplicaciones (inglés de Estados Unidos)
  5. Seleccione "Ejecutar" y, a continuación, seleccione el "Trabajo" en ejecución. Debería aparecer una lista de tareas en ejecución que contiene lo siguiente: "Importar aplicación" y "Entrenar y publicar aplicación"

Pasos siguientes