Realizar implementaciones y lanzamientos con la CLI de Flex Plugins
El comando twilio flex:plugins:deploy
automatiza el proceso de carga de tu plugin en Flex. Esto te permite implementar tus plugins a través de la línea de comandos, sin necesidad de cargarlos de forma manual utilizando una GUI. Después de una implementación, el plugin no estará habilitado para todos los usuarios de tu aplicación Flex. Debes ejecutar el comando release
después de la implementación para habilitar los cambios.
El comando twilio flex:plugins:release
se utiliza a fin de cambiar los plugins que están activos para los usuarios. Puedes agrupar varios plugins en una versión y volver a activar cualquier versión anterior para deshacer los cambios.
En esta guía, se incluyen ejemplos para implementar y lanzar tus plugins de Flex.
Versiones de la CLI compatibles
Debes instalar la última versión de la CLI de Flex Plugins para poder utilizar estas características. Si piensas migrar un plugin heredado para usar la nueva CLI, consulta nuestra Guía de migración.
Implementar la versión principal de un plugin
twilio flex:plugins:deploy --major --changelog "Notes for this version" --description "Functionality of the plugin"
El comando deploy
realiza las siguientes acciones:
- Publica tu plugin como un activo privado al que se puede acceder por medio de la API de activos y funciones. Si deseas implementar tu plugin como un activo público, puedes pasar el indicador
--public
al comandodeploy
, - el que se encargará de registrar una nueva versión del plugin a través de la API de Plugins. En el caso de ejemplo anterior, se pasa el indicador
--major
. Esto crea una nueva versión principal del plugin (por ejemplo, de v1 a v2), y almacena el registro de cambios proporcionado junto con la nueva versión. Si no se proporciona una opción de versión (major
,minor
opatch
), el comandodeploy
elige una nueva versión del parche de forma predeterminada. - Actualiza el campo de versión en el
package.json
de tu plugin con la nueva versión. - Si es la primera vez que se implementa el plugin, también lo registra como un nuevo plugin con la descripción proporcionada. No es necesario proporcionar la opción
description
en implementaciones adicionales.
Crear un nuevo lanzamiento
El lanzamiento de plugins es un proceso de dos pasos que utiliza la API de Plugins.
- Creas una configuración de Flex Plugins, que contiene la lista de plugins que deseas activar y sus versiones.
- Creas un lanzamiento de Flex con la configuración creada en el paso anterior.
El comando release
de la CLI de Plugins combina estos dos pasos para simplificar los casos de uso más comunes.
A) Lanzamiento en un paso
Puedes crear un lanzamiento mediante la creación de una lista con cada uno de los plugins que deben estar activos para los usuarios:
twilio flex:plugins:release --plugin example-plugin@1.0.0 --plugin additional-plugin@2.1.0 --name "Example 1" --description "Demonstrating use of twilio flex:plugins:release"
El comando release
realiza las siguientes acciones:
- Crea un recurso de configuración del plugin de Flex utilizando la API de Plugins con todos los argumentos proporcionados.
- Crea un recurso de lanzamiento de Flex para la configuración que se acaba de crear.
Ten esto en consideración cuando crees una nueva versión:
- El argumento
--plugin
toma el plugin que deseas habilitar en el formato nombre‐de‐plugin@versión. Se pueden agrupar varios plugins en un lanzamiento mediante el indicador--plugin
para cada plugin que se debe activar. - Recomendamos configurar las opciones
--name
y--description
. Se pueden utilizar para describir lo que cambió en este lanzamiento, y esos detalles se mostrarán en el panel de control de Plugins. Se trata de una referencia útil cuando se revisa el historial de lanzamientos o se decide volver a implementar un lanzamiento anterior.
B) Separar la configuración y el lanzamiento
No es necesario publicar de inmediato una nueva configuración para los usuarios. En su lugar, puedes crear primero una configuración y, a continuación, pasar una referencia a la configuración al crear un lanzamiento. Esto es similar al proceso que utilizarás para volver a implementar una versión anterior.
En primer lugar, debes crear una nueva configuración de plugin de Flex:
twilio flex:plugins:create-configuration --name "Example config1" --description "Testing new plugins" --plugin plugin-test-example@1.0.0 --plugin <additional-plugin-name>@<version>
Este comando creará una nueva configuración y devolverá el SID del nuevo recurso. Puedes buscar el SID de una configuración mediante la ejecución del siguiente comando:
twilio flex:plugins:list:configurations
Por último, crea una nueva versión con la configuración de plugin de Flex proporcionada:
twilio flex:plugins:release --configuration-sid <Configuration Sid>
Lanzar varios plugins
De forma predeterminada, los comandos release
y create-configuration
combinarán la lista de plugins que proporciones con los plugins que están en la configuración activa. Este comportamiento se puede cambiar mediante el argumento --new
. Supongamos que tienes dos plugins activos: plugin-alpha@1.0.1
y plugin-beta@2.1.1
. Se ha implementado una nueva versión v1.1.0 de plugin-alpha
y estás creando un nuevo lanzamiento:
Sin --new (predeterminado)
twilio flex:plugins:release --plugin plugin-alpha@1.1.0 --name "Bumping Alpha" --description "Alpha and Beta both up-to-date"
En este lanzamiento, plugin-alpha
se actualiza a la versión proporcionada en el comando. plugin-beta
permanece habilitado en la versión activa.
Con --new
twilio flex:plugins:release --new --plugin plugin-alpha@1.1.0 --name "Removing Beta" --description "Bumping Alpha and disabling Beta"
En esta versión, solo se agregan a la configuración de este lanzamiento los plugins proporcionados. El resultado final será que solo plugin-alpha
está activado.
El argumento --new
se debe utilizar si estás deshabilitando un plugin que está en la configuración activa.
Gestionar varias cuentas
La CLI de Flex Plugins usa el Account SID (SID de cuenta) de Twilio y Auth Token (Token de autenticación) para implementar los plugins.
Si estás implementando tus plugins en varias cuentas, tendrás que proporcionar credenciales para cada cuenta. Puedes crear varios perfiles utilizando la CLI de Twilio para almacenar varias credenciales y, luego, pasarlas a los comandos de varias maneras:
Utilizar un nombre de perfil
Supongamos que creaste un perfil llamado stage
. Puedes pasar el nombre del perfil en el comando deploy
para utilizar la cuenta designada.
twilio flex:plugins:deploy -p stage
Cambiar perfiles
De forma alternativa, puedes cambiar el perfil que está activo usando el comando profiles
de la CLI de Twilio. Para ver la lista completa de perfiles locales y elegir un nuevo perfil activo, ejecuta
twilio profiles:list
twilio profiles:use <profile_name>
Variables de entorno
También se pueden proporcionar nuevos pares de credenciales AccountSid y AuthToken como variables de entorno con el comando deploy
:
TWILIO_ACCOUNT_SID=ACxxx TWILIO_AUTH_TOKEN=abc123 twilio flex:plugins:deploy
Se utilizarán las credenciales proporcionadas y se guardarán en el llavero. Si tienes varias cuentas guardadas y no proporcionas credenciales junto con el comando deploy
, se te pedirá que selecciones una:
? Select from one of the following Account Sids (Use arrow keys)
❯ AC0000000000000000000000000000000
AC0000000000000000000000000000001
AC0000000000000000000000000000002
Puedes utilizar los comandos anteriores para vincular la implementación del plugin a un proceso de CI/CD. Por ejemplo:
#!/bin/bash
# This script runs within your plugin directory
npm install
npm run test
npm run lint
TWILIO_ACCOUNT_SID=ACXXXX TWILIO_AUTH_TOKEN=pass123 twilio flex:plugins:deploy
Debes utilizar AccountSid y Auth Token (Token de autenticación) como variables de entorno o argumentos pasados a tus secuencias de comando.
Próximos pasos
- Obtén más información sobre otros casos de uso comunes de la CLI de Plugins.
- Comienza a crear tu primer plugin.
- Obtén más información sobre la API de Plugins subyacente.
¿Necesitas ayuda?
Todos la necesitamos a veces; la programación es difícil. Obtén ayuda ahora de nuestro equipo de soporte, o recurre a la sabiduría de la multitud visitando Stack Overflow Collective de Twilio o navegando por la etiqueta de Twilio en Stack Overflow.