Cómo implementar un sistema de despliegue y entrega continuos con Altium Designer
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:
- Configurar los archivos del trabajo de salida
- Escribir scripts de Altium Designer en Delphi para ejecutar mediante programación los archivos del trabajo de salida
- 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.
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)
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.
Figura 3. Configuración del sistema de despliegue continuo de Bamboo
Figura 4. Ejemplo de despliegues continuos de una compilación de Bamboo
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.
Figura 6. Notificación por correo electrónico: publicación con despliegue automatizado con Atlassian Bamboo
Paso 5: Aprovecha el enlace.
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®