Publicaciones del año 2021

Gitlab runners en windows para integración y entrega continua

Desde hace algo más de un par de años, llevo usando Runners de Gitlab para desplegar y realizar test de algunos proyectos que Desarrollo. Todo comenzó como una prueba con proyectos simples, como Music DL y socializer. La idea de los runners es utilizarlos para completar el Ciclo de CI/CD (esto es, integración y entrega continua). En términos generales, esto hace posible que cada que se cumpla una condición específica dentro del repositorio de código fuente (por ejemplo, crear una etiqueta para cada nueva versión, enviar un commit en un repositorio), un Runner se encargue de ejecutar una serie de comandos o scripts para ejecutar las unidades de prueba del proyecto, o incluso pueda compilar, empaquetar y distribuir directamente versiones listas para los usuarios. Esto es lo que hemos venido usando en TWBlue para las actualizaciones Snapshot desde hace un par de años, lo que al final fue un factor importante al decidir acortar el ciclo de desarrollo de las versiones de la aplicación. Personalmente, además, me gusta que un runner ejecute todas las tareas, ya que eso nos ayuda a nosotros a mantener nuestros equipos personales o de trabajo fuera de la distribución de TWBlue. Como se trata de proyectos Python, en ocasiones los módulos que nos ayudan a generar versiones distribuibles (como por ejemplo, cx_freeze) incluyen paquetes incorrectamente que no se usan en la aplicación. Esto no siempre puede controlarse apropiadamente y en ocasiones, una versión de TWBlue generada en el pasado incluía más o menos módulos extras e innecesarios según en el equipo de quién se habían construido las versiones distribuibles. Con un runner creando cada versión de nuestro software, nos aseguramos de tener una máquina que solo lleve instaladas las herramientas necesarias para lo que se va a construir, y también proporcionamos a todo quien quiera revisarlo, una lista de pasos reproducibles que necesitan ser ejecutados para crear una copia idéntica de nuestras versiones. Finalmente, el hecho que todo esto ocurra de manera completamente automática nos hace tener qué preocuparnos menos en prepararlo todo y ejecutar cada paso manualmente en nuestras máquinas: Un desarrollador solo tiene qué enviar un commit o crear la etiqueta adecuada, y el runner probará, construirá y subirá los ejecutables a nuestro sitio ftp en cuestión de minutos.

Leer más…

Cambios en proyectos para el 2022

Hola a todos

El día de hoy simplemente quisiera dar un anuncio para la gente que se encuentre siguiendo alguno de los proyectos en los que estoy involucrado. A lo largo de este año, que está ya por terminar, han surgido muchas cosas. Han existido nuevas oportunidades, así como otros proyectos a los que no les he podido dedicar todo el tiempo que me gustaría. Sin mencionar nuevas ocupaciones, responsabilidades y tareas que he ido asumiendo en mi puesto de trabajo actual. El resumen general de este año es que ha sido uno donde todo ha sido muy extraño. Cuando inició el año, no tenía idea que terminaría por adentrarme en el Desarrollo de Skills para Alexa, o que ese desarrollo acabaría por aparecer en algún sitio más allá de mi cuenta de Twitter. Pero al final todo ha seguido su curso, y es por eso que a partir del próximo año, todos los proyectos de software que yo desarrollaba hasta el momento, pasarán a formar parte de un nuevo proyecto. Este proyecto, del que ya he hablado en alguna otra ocasión en Twitter, es mi propia compañía de software, llamada MCV Software.

Leer más…

skills de Alexa como servicios web - parte 1: Creando la Skill en el portal de Amazon

El día de hoy inicio con algo que tenía pendiente intentar por varios meses ya. Escribiré un poco sobre cosas que voy descubriendo a la hora de desarrollar. Nuevas librerías, métodos y patrones de diseño, y en general cosas que vaya encontrando por el camino. He notado que hay mucha gente escribiendo sobre esto en inglés, pero no sé qué tanta gente escribe en español. Así que, en parte para contribuir un poco con la documentación sobre varios temas en español, y para no olvidar lo que voy aprendiendo, aquí estaré escribiendo sobre algunos temas que me resulten interesantes.

Leer más…