2018-10-06 05:00
Tras haber probado alternativas (como aquí o aquí), hoy vamos a hablar sobre el campeón de integración continua.
Jenkins es un programa escrito en Java de código abierto y que nos permite diseñar e implementar pautas de automatización en el proceso de creación y despliegue de software. Además de ser una potente herramienta de CI, es multiplataforma y gracias a un sistema de extensiones bastante potente podemos integrarlo con cualquier lenguaje y situación.
Por ejemplo, nuestro Jenkins podría comprobar si el rendimiento de nuestra aplicación ha caído desde el último despliegue e impedir que se hiciera, comprobar si pasamos una serie de tests de calidad de forma automática o simplemente desplegar de forma automática en Pre-producción cada vez que alguien sube código a una rama en git o en subversion.
2018-09-20 05:00
Github es uno de los servicios más importantes que existen en este momento en el mundo del desarrollo de software. Pese a haber sido recientemente adquirido por Microsoft, sigue siendo la plataforma de gestión de repositorios más usada del mundo.
Como ya comenté hace tiempo, utilizo personalmente Gitlab como sistema de repositorios de código fuente, pero la verdad es que estaba deseando probar “su” sistema de integración continua, llamado Travis CI.
Nota del autor: Las políticas de uso de Travis CI han cambiado desde que escribí este post y aunque el servicio sigue funcionando, ahora recomendaría el uso de Github Actions y sólo mantengo este post activo por su posible utilidad. Para más información sobre las nuevas políticas de uso de Travis CI, recomiendo el post de Jeff Geerling al respecto.
2018-09-14 05:00
Aunque tenía pensado escribir varios posts en Agosto, la verdad es que he estado muy liado estudiando. He pensado que debido a la experiencia que estoy cogiendo en GCP estaría bien apostar por sacarme alguna certificación de la plataforma. Así que me puse manos a la obra y tras más de cincuenta horas de estudio puedo decir que ahora soy Professional Cloud Architect de Google Cloud Platform.
La verdad es que fue duro…
… pero las impresiones y experiencias que habían tenido compañeros y amigos al respecto me hicieron desconfiar pese a que mi experiencia con Google Cloud Platform fuera extensa.
Ya comenté en un anterior post mis reticencias acerca las certificaciones en el mundo IT, sin embargo creo que esta certificación si es exigente y permite verificar una serie de competencias en Google Cloud Platform.
2018-09-02 07:00
En el post anterior sobre Ansible ya teníamos un rol plenamente funcional, pero siempre podemos mejorarlo un poco más.
Imaginemos que realizamos cambios en nuestro rol y queremos probarlos a medida que seguimos desarrollándolo y que en una de las pruebas omitimos sin querer algun test y al aplicarno en nuestros servidores rompemos algo. Todo el desarrollo realizado anteriormente podría provocar pérdidas de datos o de servicio debido a un error humano.
¿Cómo podemos evitarlo? Podemos añadir a nuestro rol, Molecule.
Nota del autor: Molecule ha sido completamente reescrito en los últimos tiempos y el contenido de este post no es válido en las últimas versiones de la herramienta. Por lo tanto, este artículo queda con carácter consultivo y quien desee ver información actualizada, puede hacerlo en éste otro.
2018-08-10 07:00
Yo utilizo Gitlab desde hace tiempo. Los códigos de ejemplo que pongo en este blog están almacenados allí. En este post, voy a explicar cómo utilizar sus herramientas de integración continua, pero primero… ¿Qué es Gitlab?
Gitlab es un sistema de gestión de repositorios de git, de código abierto. Es un sistema escrito en Ruby que además de permitir gestionar código a través de un navegador, tiene muchísimas herramientas integradas en él. Algunas de estas herramientas permiten manejar nuestro código, compilarlo y realizarle diferentes acciones y pruebas al resultado. Si estas acciones se realizan de forma ágil podríamos decir que estamos usando integración continua.
Aunque podemos instalarlo en nuestro propio servidor, la versión en la nube de Gitlab nos permite disfrutar de él.
2018-08-01 07:00
Como comentamos en el post anterior, ahora vamos a proceder a añadir dos pasos extra a nuestro rol de backupninja y a implementar una primera mejora haciendo que el rol sea válido para muchas más distribuciones GNU/Linux. En definitiva:
-
Nuestro rol ya instala backupninja y le permite realizar un backup completo de los datos del servidor.
-
Necesitamos añadirle el backup de las bases de datos y realizar un paquete de ambos para obtener el backup definitivo.
2018-07-26 10:00
Tras una breve pausa derivada del hecho de que me he casado :D, seguimos apuntando cosillas en el blog. En este artículo vamos a crear un pequeño rol que nos permita gestionar nuestros backups como debería ser.
Ya comentamos en el post anterior, todo lo que hacía el script y ahora vamos a crear el rol.
2018-04-24 05:00
La llegada de las nubes de las grandes empresas como Amazon, Google o Microsoft y su ingente cantidad de servicios asociados (como Office 365 o G Suite) había sido precedida por una serie de sistemas de almacenamiento de datos en Internet como Dropbox o Megaupload y de la profileración de redes sociales como Facebook, Twitter o Instagram.
A medida que estos servicios fueron generalizándose fue creciendo la preocupación acerca la integridad y la privacidad de los datos almacenados en la nube. Incluso algunos países europeos (como Dinamarca o Alemania) modificaron sus leyes nacionales para que estos datos no pudieran ser tratados fuera de las fronteras.
Para dar respuesta a estas preocupaciones, aparecieron proyectos que pretenden dar servicios similares, pero que podíamos instalar nosotros donde quisiesemos.
2018-04-18 05:00
Una de las tareas que suele acometer un sysadmin a lo largo de su vida es la de conseguir más conocimientos, especializarse para con ello tener una mejor remuneración, un cambio de orientación profesional o por el gusto de su adquisición. Pese a la tremenda titulitis que hay montada alrededor de las certificaciones en este sector, la preparación de algunas certificaciones puede ayudarnos a obtener conocimientos nuevos y que nos ayuden en nuestro día a día laboral.
De esta forma y gracias al apoyo brindado en el centro de trabajo, he conseguido la certificación de AWS Certified Solutions Architect - Associate. Con este post pretendo dar una serie de recomendaciones a la gente que pretenda presentarse a dicho examen como hice yo.
2018-02-28 18:00
Generalmente cualquier sysadmin termina acumulando una serie de scripts que le facilitan la vida. En casa tengo una pequeña motherboard, una prima lejana de la Raspberri Pi que incluía un puerto SATA2 y un Gigabit Ethernet. Así que lo convertí en un pequeño NAS que utilizo de “nube” privada.
Aunque existían opciones más simples, terminé instalándole Nextcloud, un fork de Owncloud y lo utilizo para sincronizar ficheros con mis PCs.
Para que el coste en tiempo del mantenimiento fuera mínimo, terminé desarrollando tres scripts que lo hacían “todo” por mi:
-
Un script que realiza los backups de la máquina.
-
Un script que actualiza el software de la máquina de manera automática y segura.
-
Un script que se encarga de subir el fichero resultante del backup a un Google Drive.
En este post y en el siguiente, voy a explicar el paso a paso de cómo he transformado el primer script en un rol de Ansible que pueda ser utilizado por otros fácilmente.