Publicaciones sobre Historias

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…

Servidor NAS casero: Primeros pasos

Como he comentado en una publicación anterior, hace poco me he comprado una Odroid XU-4 con la idea de hacerla un servidor NAS casero para poder almacenar toda clase de archivos, que normalmente me gustaría tener disponible en todos los dispositivos de casa. En esta serie de artículos me gustaría detallar un poco el proceso de configuración del software (y en ocasiones de algunas particularidades que vienen con la propia placa), a fin de documentar de algún modo el proceso para más adelante. Tengo pensado comprarme, si las cosas van bien, el módulo eMMC, y sé que deberé repetir todo el proceso para configurar el sistema (los sectores de arranque de la partición primaria son diferentes para el Módulo eMMC y la tarjeta Micro SD, así que esto me obligaría a reconfigurarlo todo en lugar de copiar la partición primaria). También, si alguien que me lea está pensando en montarse un dispositivo con características similares, tal vez esto pueda resultar de utilidad.

Leer más…

Servidor NAS casero: Refrescando la Odroid XU-4

Continuando con la serie de artículos dedicados a la Odroid XU-4 y a mi aventura de intentar convertirla en un servidor NAS sin pasar por instalarme sistemas con todo ya integrado, ahora quería compartir una particularidad (o truco) que puede ayudar a que los componentes de la placa funcionen algo mejor.

Leer más…

Un nuevo integrante en la familia. Bienvenido, Odroid XU-4!

Hola!

Durante los últimos años, le he dado vida a un par de Raspberry Pi que tenía haciendo polvo en mi habitación, para convertir la primera en un servidor NAS casero (NAS son las siglas de Network Attached Device, y es un dispositivo que tiene como principal objetivo mantener un disco duro accesible a toda una red local) y la segunda en un HTPC (siglas para Home Teater PC, que es otro dispositivo que se utiliza para disfrutar contenido multimedia en una TV, similar a Roku, Chromecast, amazon Fire TV y otros). La idea era muy simple: El servidor NAS mantiene un disco duro accesible a todos los dispositivos conectados a la red de casa, y la HTPC podía ver todo el contenido que estaba en el NAS.

Leer más…

Mi problema con el desarrollador de OnToys

Gracias a Miguel Pacheco por la ayuda con la traducción de la primer sección de esta publicación.

Si sueles leer mi blog, podrías saber que aquí publico mucho sobre software y otras cosas técnicas. Si no lo haces, ¿qué esperas? ¡Subscrívete y a leer! :). Hoy, no voy a subir algo relacionado al software o tecnologías en general. Hoy es uno de estos días donde compartiré una situación personal, sólo porque necesitaba hacerlo.

Leer más…

Rusia 2017: Visado, parte 1

Sé que al empezar a hablar sobre mi viaje a Rusia dije que cada semana publicaría una nueva actualización sobre esto. Vale, mentí. Me ha pasado lo que ocurre siempre, el tiempo no es suficiente y las cosas que hay que hacer son demasiadas. Así que a partir de ahora intentaré publicar cuando pueda escribir, lo que espero sea algo más frecuente este año.

Leer más…

Rusia 2017: Pasaporte

Lo que te identifica como ciudadano internacional e indica a los países extranjeros cuál es tu nacionalidad se llama pasaporte. Para poder salir de tu país de origen necesitas contar con uno de ellos. En México, el pasaporte se tramita en las oficinas regionales de la secretaría de relaciones exteriores (SRE), previa cita. El trámite del pasaporte es uno de esos trámites gubernamentales en los que debes hacer una fila enorme, esperar tu turno y si tienes suerte, esperar unas 3 o 4 horas para que puedan expedir tu pasaporte. Si tienes discapacidad, te ahorras unas cuantas horas, recibes tu pasaporte en minutos (en mi caso he demorado 45 minutos desde que terminé de llenar el formato hasta que me llamaron para entregarme el pasaporte), y al momento de pagar por el pasaporte tienes un descuento del 50% sobre el pago total en el banco. Eso sí, hay que presentar la credencial nacional para personas con discapacidad como identificación oficial.

Leer más…

Rusia 2017: Comenzamos

Hoy quiero escribir sobre algo que he estado pensando y poco a poco he empezado a convertir en realidad, hasta el punto en el que solo me queda esperar pacientemente (lo de pacientemente será un esfuerzo muy grande de mi parte) para que llegue el plazo que se indica en un par de billetes de avión. Pero no me refiero a escribir algo inspirador, sino a detallar el proceso que he ido realizando a lo largo de este último par de meses para planificar el viaje, así como lo que falta, a fin de poder conservar esta experiencia y leer todo lo que me hace falta por hacer.

Leer más…