miércoles, 20 de marzo de 2013

Travis CI: Integración continua en la nube

Con la aparición de GitHub se ha ido difuminando el concepto de proyecto de software libre tradicional así como la forma de colaborar en ellos. Basta con querer compartir un pequeño módulo o ejemplo para crear un repositorio en GitHub; la comunidad ya decidirá la relevancia de tu aportación.

Pero GitHub no solo ha hecho florecer los pequeños proyectos de cada uno, también ha hecho crecer el número de servicios que la nube ofrece a los desarrolladores. Un ejemplo de estos servicios es Travis CI que ofrece un servicio de integración contínua gratuito en la nube. La idea me parece muy buena: la integración contínua no tiene que ser algo exclusivo de proyectos a partir de cierto tamaño, ya que la calidad tampoco lo es.

Travis CI te permite compilar y probar el código de tus repositorios de GitHub de forma automatizada. Basta con añadir un fichero .travis.yml a tu repositorio con los detalles de cómo se compila y prueba, entrar en http://travis-ci.org, loguearte con GitHub y activar el servicio para tu repositorio.

Actualmente son incontables los proyectos en GitHub que utilizan Travis CI. Un ejemplo de estos es https://github.com/joyent/http-parser, donde podemos ver su fichero .travis.yml así como el indicador del estado de su última build.

martes, 19 de marzo de 2013

Testacular

A riesgo de que esto se convierta en una recopilación de vídeos que me han gustado en algún momento, quiero destacar otro vídeo. Esta vez sobre Testacular: un framework para test de código JavaScript. La automatización de todo lo que rodea al proceso de desarrollo siempre me ha parecido muy necesaria y me sorprende gratamente el nivel de automatización del proceso de test al que se puede llegar. Con Testacular, la simple modificación de un fichero implica que se ejecuten automáticamente todos los tests asociados a ese fichero.


Del vídeo destaco la parte (breve) en la que cuenta la motivación que les llevó a desarrollar la herramienta: querían desarrollar AngularJS, querían automatizar el proceso de test en su desarrollo y no les convencía ninguna herramienta similar existente. Un buen ejemplo de lo que significa llevar la palabra ingeniero en el nombre.

Git, GitHub y el Social Coding

Hace algún tiempo alguien me preguntó cual era mi red social preferida. Una pregunta muy de los tiempos que corren, aunque yo no la entendí. ¿Por qué he de tener yo una red social preferida? pensé. Tiempo después pienso que quizá no entendí la pregunta porque no entendía la utilidad real que tienen las redes sociales. Como diría mi buen amigo Ginés: no sabía sacarle el pringue.

Si me volvieran a preguntar lo mismo hoy afirmaría sin vacilar que mi red social preferida es Youtube. Y lo es precisamente por su utilidad. Para alguien como yo, apasionado por la tecnología y el desarrollo software, Youtube es muy útil para aprender nuevas tecnologías y hacerlo directamente de sus creadores. Nadie mejor que el creador de una tecnología para entender la motivación que hay tras ella (salvo en el caso de Node.js, cuyo creador no tiene buenas dotes de comunicación: ver los 30 primeros segundos de este vídeo).

Cuento todo esto porque hoy me he visto en la necesidad de contarle a alguien qué es eso del social coding y de GitHub, y he recordado cómo lo entendí yo: mediante Youtube con el siguiente video.


En este caso no son sus creadores, pero sí gente que vive de ello, por lo que saben defender bien el tema.

PD: A quién dude de la utilidad de Youtube le recomiendo que vea este vídeo de Usman Ríaz en el que cuenta cómo encontró en Youtube la formación musical que quería y sus profesores no podían aportarle.