Configurar Jekyll para trabajar con las páginas de Github

El motivo de lo que comentaba en la entrada anterior iba enfocado a preparar un entorno de prueba para trabajar con Jekyll, un generador de contenido estático a partir de ficheros de texto. En un principio su uso está orientado a la generación de blogs de forma rápida sin necesidad de bases de datos o sistemas más complejos como puede ser WordPress. En mi caso, estaba interesado en testear los problemas que estaba teniendo haciendo uso de las páginas de Github, servicio que ofrecen de forma gratuita para alojar contenido web estático que se aloja en un rama específica dentro de tu repositorio de GitHub. En mi caso, el de Azure for Beginners

Los pasos previos que necesitaremos realizar son:

  1. Instalar un intérprete de JavaScript, si no a la hora de generar nuestro sitio con Jekyll fallará.
    sudo apt-get install nodejs
  2. Instalar el framework de Ruby ya que Jekyll es una gema de Ruby.
    sudo apt-get install ruby
  3. Instalar las herramientas de desarrollo necesarias para los procesos de compilación a la hora de instalar la gema de Jekyll
    sudo apt-get build-essential ruby-dev
  4. Finalmente instalar la gema de Jekyll
    sudo gem install Jekyll

Una vez acabado el proceso tendremos ya nuestro entorno de pruebas de Jekyll. Es posible probar que todo funciona correctamente creando un sitio por defecto como sugieren en la documentación oficial.

~ $ gem install jekyll
~ $ jekyll new myblog
~ $ cd myblog

Tras acceder a la plantilla generada por Jekyll ejecutamos el comando necesario para comenzar a servir las páginas:
~/myblog $ jekyll serve

La salida del comando nos indica que tenemos que cargar en nuestro navegador la URL: http://localhost:4000 para visualizarlo.

jeckyll-install-step-2

Haciéndole caso podemos ver que nuestro sitio está listo:

jeckyll-install-step-1

Una vez probado que todo está correcto, podremos utilizar Git para clonar nuestro repositorio y comenzar a trabajar con la rama de gh-pages, para que los cambios que hagamos se reflejen en nuestro sitio al hacer un push

Consejo, si quieres que tu rama de gh-pages esté sincronizada con la master puedes añadir la línea destacada a continuación a tu fichero de configuración de git, .git/config, en la sección de origin.

[remote "origin"]
url = https://github.com/keyonir/azure-for-beginners.git
fetch = +refs/heads/*:refs/remotes/origin/*
push = refs/heads/master:refs/heads/gh-pages < ----------------
push = refs/heads/master:refs/heads/master

De esta manera, cada vez que ejecutes un push al repositorio, los cambios se aplicarán a ambas ramas.

Cómo instalar Ubuntu 14.04 en Hyper-V en una máquina de Generación 2

A la hora de estar preparando una serie de materiales para introducir Azure a los desarrolladores y administradores de sistemas que utilizan Linux en su día a día, he tenido que instalar una copia de Ubuntu sobre el Windows Server 2012 R2 que utilizo como máquina de trabajo habitual. Estos pasos son similares a si la instalación se realizará sobre Windows 8 o posterior ya que incluye el mismo hypervisor.

  1.  Accedemos a la página de Ubuntu para descargarnos la imagen .ISO. En el menú superior seleccionamos la opción de Descarga
    Ubuntu-HyperV-Gen2-Step1
  2. En este caso estaremos interesados en instalar la versión de escritorio por lo que seleccionamos Ubuntu Desktop
    Ubuntu-HyperV-Gen2-Step2
  3. Trabajaremos con la versión Ubuntu 14.04.1 LTS 64 bits por lo que podemos darle a Download directamente.
    Ubuntu-HyperV-Gen2-Step3
  4. Una vez que se ha terminado de descargar tendremos que crear una máquina virtual nueva. Para ello, abrimos el Hyper-V Manager y en el menú lateral seleccionamos New > Virtual Machine
    Ubuntu-HyperV-Gen2-Step4
  5. Elegimos el nombre de la máquina virtual
    Ubuntu-HyperV-Gen2-Step5
  6. Seleccionamos como tipo de máquina virtual la Generación 2 . Aunque en el mensaje informativo no se incluya es posible ejecutar Ubuntu en este nuevo tipo de máquinas virtuales y aprovecharnos de las ventajas respecto a la Generación 1. Únicamente será necesario modificar el uso de Secure Boot que viene activado por defecto. En un próximo paso lo cambiaremos.
    Ubuntu-HyperV-Gen2-Step6
  7. Seleccionamos la cantidad de memoria RAM que queremos asignar a la máquina y si deseamos utilizar Dynamic Memory o no.
    Ubuntu-HyperV-Gen2-Step7
  8. Configuramos el switch virtual que utilizará la máquina virtual para conectarse a la red. En este caso queremos conexión a Internet por lo que he seleccionado uno externo a través de la tarjeta inalámbrica.
    Ubuntu-HyperV-Gen2-Step8
  9. Seleccionamos el nombre y la capacidad de nuestro disco duro.
    Instalación Ubuntu en Hyper-V
  10. Indicamos que queremos instalar un nuevo sistema operativo a partir de la imagen ISO que hemos bajado e introducimos la ruta del fichero.
    Ubuntu-HyperV-Gen2-Step10
  11. Aceptamos el asistentes y en segundos nuestra máquina virtual estará creada.
    Ubuntu-HyperV-Gen2-Step11
  12. Ahora será el momento de modificar la configuración del Secure Boot para poder arrancar nuestra máquina sin problemas. Para ello seleccionamos nuestra máquina virtual en la pantalla central y en el menú lateral derecho del Hyper-V Manager la opción de Settings
    Ubuntu-HyperV-Gen2-Step12
  13. En la pestaña de Firmware deberemos de quitarle el tick al checkbox de Enable Secure Boot Tras ello aceptamos los cambios y salimos.
    Ubuntu-HyperV-Gen2-Step13
  14. Una vez finalizado los pasos anteriores arrancamos nuestra máquina virtual y podremos empezar la instalación seleccionando Install Ubuntu.
    Ubuntu-HyperV-Gen2-Step14
  15. Tras configurar todos los parámetros que nos indican tendremos nuestra máquina lista para trabajar.
    Ubuntu-HyperV-Gen2-Step16

Si tras finalizar la instalación tienes problemas de conectividad a la red puedes deberse a un problema con tu router inalámbrico si estás utilizando como yo tu tarjeta de red. En esta pregunta de Stack Overflow explican el motivo. También puedes realizar un cambio en la configuración del switch virtual como otra opción.