4 min de lectura

Qué es deploy

La traducción de deploy es “despliegue” y no le da justicia al concepto completo.

Cuando nos referimos a hacer deploy de un sitio, un sistema, una aplicación o cualquier otro software, estamos hablando de todo el proceso que se requiere para que el código se traslade a un entorno de acceso público donde se espera quede accesible para el usuario.

Es decir, si estas trabajando en un sitio web, hacer deploy significa generar todos los archivos minificados, transpilar el javascript, correr las pruebas, agregar el tag de la versión y subir los archivos al servidor que previamente configuraste e instalaste, o a un contenedor en la nube que orquestaste. El punto final del sitio web es ese espacio para dejarlo en producción, es decir, listo para ser usado por el cliente.

 

Cómo funcionan los deploy sin usar servidores

Hacer deploy casi siempre es a un servidor pero con estas nuevas tecnologías serverless es decir, sin servidores, es posible hacer un deploy sin las preocupaciones de configurar, crear y mantener un servidor o inclusive, un contenedor en la nube.

La intención es dejar todo el trabajo de configurar, orquestrar y mantener servidores y contenedores en la nube y dejarle ese trabajo a un proveedor externo.

Ahora, todo lo que tenga que ver con esa parte la administra el proveedor del servicio serverless, que en este caso es Now.

 

Qué es Now (de Zeit)

Now es un producto de Zeit, que te permite hacer deploy con solo hacer push de tu código.

Tiene herramientas para hacer deploy directo desde Github sin que tengas que preocuparte por algo mas.

La cosa es tan sencilla como ejectuar el comando now y listo, tu aplicación queda deployeada.

 

Cómo agregar Now

Hay tres opciones para instalar Now en la computadora:

  1. Now Desktop que incluye el CLI
  2. Now Github que permite hacer deploys con los hooks de github.
  3. Now CLI que permite la ejecución de todos los comandos para manipular los deploys

El CLI se puede instalar como paquete de Node con

 

Hacer deploy de tu aplicación sin usar servidores con Now

Es muy importante que ya se tenga la carpeta del proyecto, y que también ya se tenga Now CLI instalado.

  1. Entrar a la carpeta del proyecto
  2. Ejecutar el comando now

Esto va a devolver una URL la cual es única para el contenido del proyecto.

Si se accede a esa URL se podrá ver el sitio ya deployeado listo para ser usado por el cliente.

Si se vuelve a ejecutar el comando now , devolverá la misma URL ya que los deploys con Now son inmutables.

 

Crear un build

Una compilación o build, son un paso de los deploy que transforman los archivos fuentes en salidas listas para producción. Los builds dan como resultado archivos estáticos o Lambdas (que ejecutan el código y brindan una respuesta dinámica para cada solicitud).

En la mayoría de las aplicaciones, normalmente queremos transformar las fuentes en otras salidas. Now admite dos tipos de salidas:

  • Otros archivos estáticos. Por ejemplo, podemos tomar index.html y minimizarlo u optimizar un PNG
  • Lambdas (Serverless). Estos son puntos de entrada que se invocan cuando se solicitan, ejecutan el código y responden dinámicamente.

Esto es muy usado para archivos compilados, y para ellos se crea un archivo now.json en el que se definen las reglas del build.

Los builds se definen en el archivo de configuración now.json usando la propiedad de builds.

El archivo now.json

En este archivo de configuración se le indica a Now que considere todos los archivos con extensión .js (el patrón está definido en la propiedad src) como archivos de entrada y los pasa a un módulo de npm llamado @now/node.

Este módulo @now/node se llama Builder.

Los Builder toman todos los archivos que coinciden con la propiedad src y transforman esos archivos de origen en una salida lista para producción.

 

Revisar los logs de tu aplicación

Ya que se tiene una aplicación deployeada puede surgir la necesidad de revisar los logs que el sistema ha arrojado, para ello, Now provee el comando now logs  pero se debe indicar de cual deployment se desea ver.

Listar todos los deployments disponibles

 

Mostrar los logs

 

 

¿Te gustó este artículo?

Si te gustó este artículo, te ha servido o aprendiste algo nuevo; compártelo en tus redes sociales o invítame un cafe.

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.