Vagrant, o cómo manejar máquinas virtuales de forma sencilla

vagrant-logo

Vagrant ha sido una de mis mayores revelaciones técnicas de los últimos años. Con Vagrant se soluciona (de forma definitiva diría yo) uno de los problemas más grandes que hemos tenido siempre los desarrolladores: preparar/compartir el entorno de trabajo en el que estamos trabajando un proyecto.

Incorporando Vagrant a nuestro flujo de trabajo podemos solucionar las inconsistencias entre entornos (cosas que funcionan en local y que se rompen en producción) ya que podemos emular en una box vagrant las mismas características que tenemos en producción.

Y una configurado, cualquier persona, será capaz de descargar y lanzar ese entorno desde cualquier maquina en unos instantes.

Say goodbye to “works on my machine” bugs.

Continuar leyendo

Cómo utilizar los submodulos git

submodules

Los submodulos git son una manera de linkar un repositorio dentro de otro. Por ejemplo, si tu proyecto necesita utilizar un proyecto que está en Github, puedes utilizar un submodulo para enlazar este repositorio en vez de copiar y pegar todo el código dentro de tu proyecto

Para pixelovers por ejemplo, me interesa tener el proyecto WordPress montado como submodulo, asi tengo desacoplados los plugins, los themes y toda la parte “custom” de lo que es el “core” de wordpress. Esto me permite actualizar la version de WordPress sin problemas y en mi repositorio tengo solo aquellos archivos que realmente son exclusivos de mi proyecto.

En este post vamos a explicar como:

  • Cómo añadir un submodulo a tu proyecto
  • Cómo clonar repositorios con submodulos
  • Cómo actualizar submodulos git
  • Cómo clonar repositorios con submodulos git que a su vez contienen otros submodulos git
  • Cómo eliminar submodulos git

Continuar leyendo

Cómo empezar a automatizar tus tareas Grunt

Grunt es una herramienta que ser ha vuelto MUY popular en los ultimos tiempos ya que nos permite automatizar todo tipo de tareas en el cliente y como consecuencia mejorar nuestra productivadad en un 500%.

Estas automatizaciones se hacen imprescindibles cuando trabajamos con transcompiladores, o lenguajes que compilan a otros lenguajes (Coffeescript, SASS,…). Tambien si aplicamos metodologias TDD y queremos ser eficientes, necesitamos sistemas que nos permitan lanzar los tests de una manera rapida y sencilla.

Pues todo esto y mas cosas podemos hacer con Grunt.

features-grunt-big

Continuar leyendo