Deployment por Línea de Comandos

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automation Server > Administración del sistema Bizagi > Deployment de procesos y nuevas versiones >

Deployment por Línea de Comandos

Introducción

Tan pronto como la automatización de un proceso haya sido completada, el siguiente paso es ponerlo disponible a los usuarios y clientes para que interactúen con el, lo que significa que el siguiente paso a la automatización es el Deployment.

 

Bizagi ofrece principalmente 2 maneras para hacer el Deployment de un proyecto: Deployment en un clic y Deployment Avanzado. El primero provee una interfaz para configurar paso a paso las variables del Deployment y los objetos. La segunda da al usuario el control total del deployment y lo que incluirá o no. Para más información en procedimientos de deployment refiérase a este artículo.

 

Algunos usuarios pueden requerir automatizar su proceso de deployment simplemente ejecutando un archivo .bat, o pueden tener la necesidad de hacer cambios en componentes específicos en su ambiente de producción sin realizar un deployment complejo. Bizagi reconoce éstas situaciones y ofrece automatización de deployment a través del Deployment por Línea de Comandos. Ésta es la tercera manera de desplegar proyectos que solo requiere la edición de archivos de configuración por parte del usuario, o alternativamente la especificación de parámetros en el comando.

 

¿Cuándo usar el Deployment por Línea de Comandos?

El deployment de Procesos se hace una vez que la etapa de automatización haya sido completada y cuando desea publicar su proceso a un ambiente de pruebas o de producción.

El Deployment por Línea de Comandos es útil cuando se quiere automatizar el proceso de deployment corriendo un archivo .bat.

 

¿Cómo funciona el Deployment por Línea de Comandos?

El Deployment por Línea de Comandos funciona siguiendo los pasos de Exportación e Importación del Deployment Avanzado, permitiendo la ejecución de los mismos por línea de comandos.

 

Importante

Antes de continuar, asegúrese que tiene presente las siguientes consideraciones.

El ambiente objetivo debe tener una base de datos del modelo de Bizagi. Por lo tanto, asegúrese de correr CreateDatabase.exe cuando esté realizando el proceso de Deployment por primera vez.

Los parámetros no deben tener el prefijo de doble guión --.

Cualquier caracter de barra invertida \ en la configuración debe ser escrito con doble barra \\.

Cualquier caracter de comillas dobles " que se desee incluir en la línea de comandos debe ser precedido por una barra invertida \".

 

Perfil requerido

El usuario que va a realizar el proceso de Deployment Avanzado o por Línea de Comandos necesita:

1. Entendimiento básico de la estructura JSON (para configurar los archivos de configuración).

2. Tener acceso a las bases de datos de los ambientes del proyecto (con credenciales de superusuario).

3. Tener experiencia en los conceptos involucrados con el Deployment de un Proyecto en Bizagi.

Para más información en el tratamiento de los objetos en el deployment, refiérase a Deployment de los Objetos.

4. Entendimiento del Proceso implementado en el proyecto.

Esto significa que se debe conocer el objetivo del proceso, el modelo de datos, versiones, integraciones, configuraciones de seguridad, administración de las configuraciones de ambiente (como políticas, alarmas, valores de las entidades parámetro), y en funcionamiento en general.

 

Tenga en cuenta que para probar apropiadamente (hacer pruebas de aceptación de usuarios), esto incluirá saber cual es el comportamiento esperado del Proceso en el Portal de Trabajo (bajo los diferentes escenarios de negocio).

 

Archivos ejecutables del Deployment por Línea de Comandos

El Deployment por Línea de Comandos usa dos de los archivos ejecutables del Deployment Avanzado, cada uno con sus respectivos parámetros.

Estos archivos ejecutables vienen instalados por defecto en la carpeta del Management Console (en C:\Program Files\Bizagi\Bizagi Studio\MC\).

 

El propósito de cada archivo ejecutable y dónde se debe utilizar se describe en la siguiente tabla.

 

Ejecutable

Propósito

Export.exe

Crea un archivo .bex donde habrá un paquete de objetos de su ambiente de desarrollo de las versiones seleccionadas de los procesos.

CreateImport.exe

Aplica los cambios a su ambiente de producción. Esto se hace después de analizar el archivo .bex de exportación contra el ambiente de producción, y considerando cómo se debe manejar la información existente (unir registros).

 

Para obtener ejemplos de cómo construir los archivos .bat que corren los archivos ejecutables de arriba, por favor refiérase a Exportar templates de configuración.

 

Export.exe

Use este ejecutable para generar el paquete inicial de objetos a los que desee realizar el deployment de su ambiente de desarrollo.

Este debe ser el único ejecutable que se configura para referenciar a la base de datos del ambiente de desarrollo (los demás referenciarán las bases de datos del ambiente de producción).

 

La ejecución de este archivo tiene la siguiente estructura:

 

Export.exe --DSNDB "..." --Provider "..." --Outputfile "..." --Config "..." --Workflows "..." –-Options "..." --ExperienceObjects "..." --Log "..." --ErrorLogger "..."

 

Notas de los parámtros y descripciones:

DSNDB: String de conexión a la base de datos del proyecto fuente. Este parámetro es obligatorio y debe ser incluido en la línea de comandos o en el archivo de configuración para la ejecución (atributo --config).

   Al usar SQL Server:

"Persist Security Info=True;User ID=[SQL_Login];Password=[Login_password];Data Source=[DB_Server]\[Named_instance];Initial Catalog=[Database];"

o[SQL_Login]: La cuenta usada para conectarse a la instancia de base de datos de SQL Server.

o[Login_password]: La contraseña correspondiente al Log in anterior.

o[DB_Server]: Nombre o dirección IP del servidor de base de datos. Use \[Nombre de la instancia] cuando aplique, si su instancia de la base de datos no es la que no está nombrada por defecto.

o[Database]: El nombre de la base de datos del ambiente del proyecto. Recuerde que para CreateDatabase, está base datos que se especifique es la que será creada.

 

   Al usar Oracle:

 "Data Source=[DB_Server]:[Port_number]/[Service];User ID=[User_schema];Password=[User_schema_password];Unicode=True;"

o[DB_Server]: Nombre o dirección IP del servidor de bases de datos.

o[Port_number]: El puerto TCP utilizado para la conexión al servicio de la base de datos.

o[Service]: La identificación del servicio para una instancia de Oracle.

o[User_schema]: El nombre de la base de datos del ambiente del proyecto. Recuerde que para CreateDatabase, la base de datos especificada es la que se creará.

o[User_schema_password]: La contraseña correspondiente para el User Schema. Es altamente recomendable cifrar la contraseña usando la funcionalidad de Cifrado de contraseñas.

 

Provider: Cliente de la base de datos del proyecto fuente. Este parámetro es obligatorio y debe ser incluido en la línea de comandos o en el archivo de configuración (atributo --config). Los valores posibles son: "MSSqlClient" o "Oracle".

Outputfile: nombre del .bex donde se generará el paquete de sus objetos del ambiente de desarrollo de la versión seleccionada de sus procesos. Este parámetro es obligatorio.

Config: Estructura JSON donde se establece la configuración para el Deployment. Este parámetro es obligatorio siempre que no se hayan definido parámetros en la línea de comandos.

Workflows: Estructura JSON con todos los procesos a incluir en el deployment. Este parámetro es obligatorio y se debe incluir en la linea de comandos o en el archivo config para la ejecución (atributo --config). Se debe construir con la siguiente estructura: --Workflows "[{\"DisplayName\": \"Bilirubin\",\"Version\": \"1.0\"},{\"DisplayName\": \"Credit Card\",\"Version\": \"1.1\"}]"

Options: Estructura JSON con las posibilidades adicionales para incluir o excluir objetos administrados por Bizagi. Este parámetro es obligatorio y debe ser incluido en la línea de comandos o en el archivo config para la ejecución. Todos sus valores son de tipo Booleano.

 

Opción

¿Cómo se usa?

¿Cuándo se usa?

Incluir valores paramétricos del ambiente

\"EnvironmentParamsValue\": true|false

Usted puede incluir valores administrados para sus ambientes. Se recomienda asegurarse de que éstos valores paramétricos (como el servidor SMTP, las URLs de Servicios, etc) se correspondan las configuraciones de su ambiente.

Incluir jobs del usuario

\"Custom Job\": true|false

Si su proyecto usa jobs personalizados, asegúrese de marcar esta opción como true, para asegurarse de que se incluyan.

Incluir Organización

\"Org Tables\": {
 \"Position\": true|false,
 \"Skills\": true|false,
 \"Location\": true|false,
 \"Area\": true|false,
 \"Role\": true|false
},

Configure como true para cualquier configuración de organización que se quiera incluir en el deployment.

Incluir opciones de autenticación

\"AuthOption\": true|false

Puede incluir las opciones de autenticación que ha personalizado en Bizagi Studio para el proyecto. Sin embargo, estas opciones pueden ser manejadas en el Management Console en su ambiente de producción.

Incluir registros de entidades paramétricas administradas en producción

\"EntParamData\": true|false

Puede inicialmente desde Bizagi Studio, asegurarse poner en true todas las entidades paramétricas cuyos registros necesita incluir en el deployment desde el ambiente de desarrollo. Si tiene entidades que necesitan que sus valores sean actualizados desde el ambiente de desarrollo, asegúrese de marcar este ítem como true.

 

Ejemplo:

--Options "{\"Custom Job\": false,\"Org Tables\": {\"Position\": true,\"Skills\": true,\"Location\": true,\"Area\": true,\"Role\": true},\"EnvironmentParamsValue\": true,\"AuthOption\": true,\"EntParamData\": false}"

 

ExperienceObjects: Estructura JSON con todos los objetos de Experiencia a incluir en el deployment. Este parámetro es obligatorio y debe ser incluido en la línea de comandos o en el archivo config. Se debe establecer con la siguiente estructura:

 

--ExperienceObjects "[{\"Entity\": \"Librarian\",\"Type\": \"MySearch\",\"Name\": \"Search books\"},{\"Entity\": \"Patient\",\"Type\": \"EntityAction\",\"Name\": \"Start Triage\"},{\"Entity\": \"X-ray\",\"Type\": \"EntityConstructor\",\"Name\": \"EntityConstructor\"}]"

 

Log: archivo en donde las trazas de la ejecución del deployment se van a registrar. Este parámetro es opcional.

ErrorLogger: Archivo en donde los errores durante la ejecución del deployment se van a registrar. Este parámetro es opcional.

 

note_pin

Si bien algunos parámetros son obligatorios, se puede ejecutar el comando sin ninguno de ellos, se ejecutará usando la interfaz gráfica donde se darán a escoger todas las opciones anteriormente descritas.

 

Export configuration file

Para facilitar la construcción de los parámetros (ya sea pegándolos en la línea de comandos o enviándolos por el archivo config), Bizagi tiene la opción del método de exportación del Deployment Avanzado. Esta opción le permite exportar un archivo JSON con la estructura de los parámetros --Workflows, --Options y --ExperienceObjects.

 

Para generar el archivo de configuración, siga estos pasos:

1. Siga los pasos del 1 al 4 descritos en Deployment Avanzado para export.exe.

 

2. Una vez que se ha realizado la configuración, dé clic en Configuración y luego en guardar.

 

CLD_01

 

3. Seleccione la ruta donde se guardará el archivo de configuración. Se guardará como archivo JSON.

 

CLD_05

 

Cuando el archivo de configuración se haya almacenado, lo puede utilizar usando la ruta completa como valor del parámetro --config. Para futuros deployments, puede actualizar este archivo manualmente o volviendo a realizar los pasos descritos.

Si quiere incluir la información de su string de conexión en este archivo, añada los parámetros DSNDB y Provider justo antes del parámetro Workflows.

 

CLD_07

 

CreateImport.exe

Utilice este ejecutable para revisar y aplicar el paquete creado con Export.

Para usar CreateImport.exe, primero asegúrese de haber copiado el directorio MC en una ruta local de una máquina con acceso a su base de datos del ambiente de producción (el directorio contiene todos los ejecutables y dlls necesarios). El archivo de exportación (.bex) creado anteriormente debe ser accesible desde su ambiente de producción.

 

La ejecución de este archivo utiliza la siguiente estructura:

 

CreateImport.exe --DSNDB "..." --Provider "..." --FilePath "..." --Log "..." --ErrorLogger "..." --Config "..."

 

Notas de los parámetros y descripciones:

DSNDB: String de conexión a la base de datos fuente del proyecto. Este parámetro es obligatorio y se debe incluir en la línea de comandos o en el archivo config.

Al usar SQL Server:

"Persist Security Info=True;User ID=[SQL_Login];Password=[Login_password];Data Source=[DB_Server]\[Named_instance];Initial Catalog=[Database];"

o[SQL_Login]: La cuenta usada para conectarse a la instancia de base de datos de SQL Server.

o[Login_password]: La contraseña correspondiente al Log in anterior.

o[DB_Server]: Nombre o dirección IP del servidor de base de datos. Use \[Nombre de la instancia] cuando aplique, si su instancia de la base de datos no es la que no está nombrada por defecto.

o[Database]: El nombre de la base de datos del ambiente del proyecto. Recuerde que para CreateDatabase, está base datos que se especifique es la que será creada.

 

   Al usar Oracle:

 "Data Source=[DB_Server]:[Port_number]/[Service];User ID=[User_schema];Password=[User_schema_password];Unicode=True;"

o[DB_Server]: Nombre o dirección IP del servidor de bases de datos.

o[Port_number]: El puerto TCP utilizado para la conexión al servicio de la base de datos.

o[Service]: La identificación del servicio para una instancia de Oracle.

o[User_schema]: El nombre de la base de datos del ambiente del proyecto. Recuerde que para CreateDatabase, la base de datos especificada es la que se creará.

o[User_schema_password]: La contraseña correspondiente para el User Schema. Es altamente recomendable cifrar la contraseña usando la funcionalidad de Cifrado de contraseñas.

Provider: Cliente de la base de datos del proyecto fuente. Este parámetro es obligatorio y se debe incluir en la línea de comandos o en el archivo config. Los valores posibles son: "MSSqlClient" o "Oracle".

FilePath: nombre del archivo .bex generado antes. Este parámetro es obligatorio y se debe incluir en la línea de comandos o en el archivo config.

Log: Archivo en donde las trazas de la ejecución del deployment se registrarán. Este parámetro es opcional.

ErrorLog: Archivo donde los errores durante la ejecución del deployment se registrarán. Este parámetro es opcional.

Config: Archivo JSON donde se establece la configuración. Este parámetro es obligatorio en caso de que los parámetros no hayan sido definidos en la línea de comandos. Debe tener los mismos parámetros obligatorios mencionados anteriormente.

Ejemplo:

 

{

 "DSNDB": "Persist Security Info=True;User ID=[SQL_Login];Password=[Login_password];Data Source=[DB_Server]\\[Named_instance];Initial Catalog=[Database];;",

 "Provider": "MSSqlClient",

 "FilePath": "input.bex",

 "Log": "log.txt",

 "ErrorLogger": "error.txt"

}

 

note_pin

Si bien algunos parámetros son obligatorios, si se ejecuta el comando sin parámetros, se ejecutará el CreateImport con su interfaz gráfica donde se pedirán los detalles que se establecen de otra manera en los parámetros.

 

¿Qué sigue?

Cuando haya terminado el deployment de su proceso usando el Deployment por Línea de Comandos, se recomienda limpiar la caché de su servidor antes de anunciar que se ha completado el proceso de deployment.

 

Cuando ejecute sus procesos en un IIS, después de realizar el Deployment por Línea de Comandos, debe limpiar la caché de su Portal de Trabajo y de la base de datos. Para hacerlo invoque los siguientes servicios web de Bizagi que están disponibles en todos los proyectos:

Limpiar la caché de la base de datos y del Portal de Trabajo: http://[your_server][your_project]/webservices/cache.asmx?op=CleanRenderCache

Limpiar la caché de la aplicación: http://[your_server][your_project]/webservices/cache.asmx?op=CleanUpCache

 

Después de hacer esto, reinicie sus servicios IIS.