domingo, 16 de septiembre de 2018

Publicar y Compartir un Box en Vagrant Cloud

Bueno, esta entrada súper rápida y es la explicación Paso a Paso para publicar los Base Box de Vagrant que nosotros creamos en el servicio en la nube de Vagrant Cloud donde podemos compartir de forma pública o privada y de forma colaborativa con nuestro equipo de trabajo los Boxes.

Antes que nada recomiendo leer mi anterior entrada al Blog donde se explica Paso a Paso la forma en que podemos construir nuestros propios Boxes de Vagrant usando VirtualBox.

Crear un Base Box de Vagrant Paso a Paso


Listo, primero lo primero, deben crear una cuenta en Vagrant Cloud y tener ya configurado un Boxes que deseen publicar.

Registrarse en Vagrant Cloud


Crear cuenta Vagrant Cloud
Crear cuenta Vagrant Cloud

Paso 1: Crear un Nuevo Vagrant Box

Suponiendo que ya tienen configurado un Box, es decir, ya tienen un archivo package.box, tiene sentido iniciar proceso del Paso 1.

Cuando ya iniciamos sesión en nuestra cuenta de Vagrant Cloud, desde el menú Dashboard existe un botón que nos permite crear un Nuevo Vagrant Box.

Dashboard Vagrant Cloud
Dashboard Vagrant Cloud

Seleccionamos el botón New Vagrant Box y nos despliega un panel desde el cual por medio de un formulario nos solicita información relacionada con la creación del nuevo Box. El nombre con el cual queremos identificar el Box, entre mas simple mejor, el tipo de visibilidad, es decir, si queremos que nuestro Box sea visible para todo el publico o solo para usuarios específicos, con una cuenta gratis podemos solo publicar Boxes publicos, si necesitamos que sean solo de acceso privado tenemos que pagar, también podemos agregar una breve descripción sobre el Box que vamos a crear.

Crear nuevo Vagrant Box
Crear nuevo Vagrant Box
Cuando ingresamos todos los datos que nos solicita, hacemos clic sobre el botón Create box, esto nos despliega un siguiente formulario donde debemos ingresar la versión del Box que vamos a crear, este sugiere usar la semántica de versiones de Ruby, adicionalmente una descripción sobre la versión del Box que vamos a crear, finalmente hacemos clic en Create version.

Versión del Box

Ya con los pasos anteriores solo hemos creado la definición del Box, para poder publicar y hacer un Release del Box tenemos que agregar un Provider al Box, es decir, el provider corresponde a la configuración de maquina virtual a la que está destinado a funcionar nuestro Box y hacer la carga de nuestro archivo package.box al correspondiente provider.

Nuevo Box
Nuevo Box

Paso 2: Agregar un Provider

Este paso consiste en definir el tipo de maquina virtual en donde puede ser ejecutado el Box y también debemos realizar la carga del archivo package.box que previamente hemos construido.

Agregar Provider
Agregar Provider
Este proceso puede tomar un largo tiempo, todo depende de nuestro ancho de banda de subida y del tamaño del archivo package.box que tenemos, al finalizar el proceso ya estamos cerca para hacer publico nuestro Box en Vagrant Cloud.


Paso 3: Publicar nuestro Box

Finalmente y después de asegurarnos que tenemos agregado a nuestro Box un Provider, podemos continuar con la liberación o publicación del Box, para esto solo tenemos que hacer clic en el botón Release ... y ya estará disponible una versión de nuestro Box en Vagrant Cloud.

Release de Box
Release de Box

Paso 4: Usar nuestro Box

Ahora ya solo es cuestión de compartir nuestro Box para que otras personas puedan hacer uso de el, incluso nosotros podemos usarlo, para eso vamos usar la CLI de Vagrant en nuestro equipo y vamos agregar el Box para poder crear todas las instancias que necesitemos a partir de el.

  • Listar los Boxes que tenemos agregados:
    • promt$ vagrant box list
  • Agregar el Box:
    • promt$ vagrant add sebaxtian/bionic64
  • Crear una instancia a partir del Box sebaxtian/bionic64
    • promt$ vagrant init sebaxtian/bionic64
  • Ejecutar la instancia
    • promt$ vagrant up
  • Iniciar sesión en la instancia ejecutada
    • promt$ vagrant ssh

Listo eso es todo, ya solo es cuestión de cachariar y aprender mas sobre la CLI de Vagrant y la configuración de las instancias a partir del archivo Vagrantfile.


Para más información leer la documentación oficial de Vagrant: