Cómo implementar un sistema de despliegue y entrega continuos con Altium Designer

Ari Mahpour
|  Created: October 16, 2019  |  Updated: August 10, 2020

En el blog sobre integración y despliegue continuos en ECAD, hablábamos del concepto de despliegue continuo en un sistema de compilación. En este artículo, analizaremos más a fondo cómo configurar sistemas de entrega y despliegue continuos para que el equipo y los proveedores puedan disfrutar de un flujo continuo de paquetes ECAD actualizados para revisión.

Despliegue/entrega continuos: Revisión

En el blog sobre integración continua e implementación con Altium Designer, vimos los detalles del diseño de PCB integrados en un sistema de compilación. Esto implicaba:

  1. Configurar los archivos del trabajo de salida
  2. Escribir scripts de Altium Designer en Delphi para ejecutar mediante programación los archivos del trabajo de salida
  3. Permitir que el sistema de compilación ejecute Altium Designer desde la línea de comandos para generar los archivos de salida

En este artículo, hablaremos de la siguiente etapa: entrega y despliegue. Las etapas de entrega y despliegue toman los archivos de salida generados y los entregan/despliegan como paquetes para el «cliente final». En este caso, el cliente puede ser nosotros mismos, un compañero de equipo para revisarlos, un proveedor, el departamento de control de calidad o un cliente real.

Despliegue continuo frente a entrega continua

En la aplicación que estamos a punto de analizar, el despliegue continuo y la entrega continua funcionan casi de manera idéntica, con la excepción de que la entrega requiere un paso adicional para llegar a manos del cliente. Según Atlassian, el despliegue continuo toma los resultados generados del entorno de compilación y los transmite directamente al cliente. Sin embargo, la entrega continua requiere que el propio equipo participe en la entrega del paquete al cliente. Puesto que nuestro cliente para esta aplicación puede ser cualquier persona (incluidos nosotros mismos), nos referiremos a despliegue continuo como el mecanismo de entrega de paquetes.

Ejemplo: Colaboración en equipo

Recordemos el ejemplo que vimos en el blog de integración continua e implementación con Altium Designer. Un equipo está buscando los últimos y mejores esquemáticos en PDF, archivos de fabricación/montaje y modelos STEP. A pesar de que el diseño no está terminado aún, una parte es lo «suficientemente buena» como para revisión de DFM. Tal vez la asignación se haya bloqueado, de manera que un diseñador mecánico pueda usar la última versión del modelo STEP. Sea como sea, es necesario generar un paquete entregable para que este grupo pueda revisar los archivos de diseño. El sistema de despliegue continuo hará exactamente eso para cada compilación que se haya procesado. Para algunos, este ejemplo tiene sentido; pero, para otros, este enfoque "ágil" no resulta muy práctico. Se puede proponer un segundo ejemplo más práctico y que puede servir de ayuda también en las relaciones empresa-cliente.

Ejemplo: Arma de alquiler

Como empresa de diseño de PCB, tu cliente solicita constantemente actualizaciones del diseño con el que trabajas actualmente. Comprimir "actualizaciones" semanales en un archivo .zip y enviarlas por correo electrónico al cliente se convierte en un fastidio, que puede llevar mucho tiempo. Si aprovechamos nuestro sistema de compilación, que ya forma parte del mecanismo de integración continua, podemos dar un paso más allá para entregar paquetes listos para usar a nuestros clientes o desplegarlos automáticamente. Esto significa que, con cada entrega al servidor, el cliente recibirá un esquemático actualizado, un paquete de fabricación/montaje y otros elementos que se hayan configurado en el archivo del trabajo de salida. Esto se puede desplegar en una unidad de red compartida o en un almacén en la nube. Además, permite al cliente ver los archivos y paquetes de diseño sin tener instalado software ECAD (es decir, mediante generación automática de archivos PDF a partir del archivo de trabajo de salida). Para algunos, puede que esta no sea una opción muy atractiva (ya que prefieren tener control sobre lo que se entrega al cliente), pero, para otros, da un significado completamente nuevo a la palabra «transparencia». Si alguien se siente incómodo con un despliegue automatizado para los clientes, puede generar primero la compilación, entregarla dentro del grupo para su revisión y, a continuación, desplegar ese paquete para el cliente.

Implementación

Paso 1: Configura tu trabajo de salida utilizando los archivos de salida necesarios para el sistema de compilación.

Altium Designer screenshot showing configuration of output job needed for the build system

Cómo implementar un sistema de entrega continua. Figura 1. Configuración del trabajo de salida para generar los archivos de fabricación dentro del sistema de compilación

(Extraído del ejemplo "MiniPC" de Altium Designer)

Altium Designer screenshot showing configuration of output job needed for the build system

Figura 2. Configuración del trabajo de salida para generar los archivos de montaje dentro del sistema de compilación

(Extraído del ejemplo "MiniPC" de Altium Designer)

Paso 2: Comprime los paquetes a través de la línea de comandos. Instala 7-Zip en la máquina de compilación y usa el siguiente comando para comprimir el paquete:

7z a -tzip Fabrication.zip Fabrication/

7z a -tzip Assembly.zip Assembly/

Paso 3: Configura el sistema de despliegue para desplegar la compilación actual y verificar que los paquetes se han desplegado.

Atlassian Bamboo deployment system configuration screenshot showing script configuration.

Figura 3. Configuración del sistema de despliegue continuo de Bamboo

Atlassian Bamboo deployment system configuration screenshot showing deployment project summary.

Figura 4. Ejemplo de despliegues continuos de una compilación de Bamboo

Atlassian Bamboo deployment system configuration screenshot showing your first release.

Figura 5. Estado de despliegue continuo de compilaciones de Bamboo

Paso 4: Publícalo automáticamente si está configurado como despliegue y manualmente si está configurado como entrega.

 Atlassian Bamboo email notification after successful deployment.

Figura 6. Notificación por correo electrónico: publicación con despliegue automatizado con Atlassian Bamboo

Paso 5: Aprovecha el enlace.

Atlassian Bamboo release screenshot showing linkage of deployment release to specific Jira tickets.

Figura 7. Enlace de la versión de despliegue continuo a tickets específicos de Jira

Observa que un ticket de Jira se ha resuelto entre desarrollo (1.11) y producción (1.5).

Conclusión

En este estudio, hemos profundizado en el concepto de los sistemas de despliegue continuo y entrega continua. Al configurar la implementación continua/despliegue continuo, permitimos que nuestro equipo o clientes revisen las entregas de nuestros paquetes, independientemente de la etapa en la que nos encontremos. Este proceso fomenta una mayor colaboración y transparencia en todo el equipo y con los clientes.

¿Te gustaría saber cómo Altium puede ayudarte en el diseño de tu próxima PCB? Habla con un experto de Altium o sigue leyendo acerca del uso de bibliotecas de PCB y captura de esquemáticos con Altium Designer®

About Author

About Author

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

most recent articles

Back to Home