Gurú

GitLab es una herramienta de ciclo de vida de DevOps completa la cual provee un gestor de repositorios Git que incluye Wiki, seguimiento de tickets y características de CI (continuous integration). Se trata de una solución open-source utilizada por grandes compañías alrededor del mundo, aunque sigue un modelo "open-core" en el cual la funcionalidad central es liberada bajo licencia MIT, mientras que ciertas características adicionales se liberan bajo licencias propietarias. El código de GitLab fue desarrollado originalmente en lenguaje Ruby, con algunas de sus partes reescritas en Go.

Este artículo demuestra cómo instalar GitLab desde los fuentes, a pesar de que la documentación oficial aclara inmediatamente que se trata de un proceso extenuante y propenso a errores, con lo cual recomiendan fuertemente la instalación desde paquete. Sin embargo, encarar una instalación manual puede ser de gran utilidad para comprender el funcionamiento completo de GitLab, junto con todas las tecnologías que lo componen y sus interdependencias.

Si recuerdan, hace un tiempo expliqué cómo utilizar los backports en Debian. Más adelante demostré cómo dar prioridad a los backports, y en dicho artículo decía textualmente:

"...los backports son paquetes provenientes de testing compilados en un entorno estable... Esto significa que no son paquetes estables."

"Habiendo aclarado nuevamente la naturaleza de los backports, la conclusión es que esta configuración no es 100% recomendable para servidores..."

Bueno, este es el caso típico de "haz lo que yo digo, mas no lo que yo hago". Por dar prioridad a los backports y blacklistear "systemd*", terminé con un buen problema de dependencias y el sistema imposible de actualizar. Crónica de una muerte anunciada...

En este artículo voy a demostrar cómo diagnosticar y resolver problemas de dependencias cuando se utilizan repositorios inestables de Debian y derivados.

Debido a los recientes cambios en los repositorios de Debian, tuve la necesidad de ajustar la configuración de APT en todos mis servidores de Debian 7 y 8 en desarrollo y producción. Este artículo demuestra cómo utilizar el módulo "lineinfile" de Ansible para editar archivos en múltiples sistemas al mismo tiempo utilizando un simple playbook YML.

En este artículo voy a demostrar cómo crear un playbook de Ansible para saber cuáles de tus servidores Debian están haciendo uso de los backports. Este ejemplo sirve para ilustrar cómo es posible extraer información de múltiples servidores al mismo tiempo utilizando comandos simples (grep/cat/find) junto el módulo shell.

Luego de muchas actualizaciones se apilaron unas cuantas versiones del kernel Linux en mis servidores Debian. Veamos cómo ejecutar apt-get autoremove en todos los servidores Debian al mismo tiempo con un simple playbook de Ansible.