Cómo Hospedar Aplicaciones Estáticas en Heroku

Creo que Heroku debería patrocinarme ya que he escrito en varias ocasiones sobre este servicio y ¿cómo no hacerlo? Es un buen servicio con una buena oferta.

En esta ocasión voy a compartir cómo montar una aplicación estática en un dyno de Heroku. Si bien en ocasiones podemos valernos de servicios como GitHub Pages, Netlify o Vercel, Heroku no deja de ser una buena alternativa.

Vale destacar que mandar aplicaciones estáticas a Heroku puede ser más complicado que en los otros servicios mencionados aunque no está de más tener opciones.

Usando Buildpacks

La opción más sencilla seguro será usando un buildpack. Estos son un conjunto de scripts que Heroku corre cuando se configura o despliega un servicio. El buildpack que necesitamos es heroku/nodejs.

También hay otro buildpack llamado heroku/static y se supone existe con el propósito de poder alojar páginas web normales o aplicaciones SPA.

Si estás haciendo algo usando Jekyll, está el buildpack para Jekyll que no es más que un fork de heroku/ruby con soporte para Jekyll.

Usando Rack

Rack es un framework para trabajar con servidores web en Ruby. Con una configuración particular, podremos sacarle provecho para montar nuestras aplicaciones estáticas.

En este artículo en Heroku está todo el detalle. Acá voy a mostrar el código.

Teniendo esta estructura de carpetas:

public/
Gemfile
Gemfile.lock
config.ru

En donde el archivo Gemfile contiene:

source 'https://rubygems.org'

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem 'rack'

Y en el archivo config.ru lo siguiente:

use Rack::Static,
  urls: ["/js", "/css"],
  root: "public"

run lambda do |env|
  [
    200,
    {
      'Content-Type'  => 'text/html',
      'Cache-Control' => 'public, max-age=86400'
    },
    File.open('public/index.html', File::RDONLY)
  ]
end

Guardas y mandas a Heroku git push heroku master y con eso habrás desplegado un sitio estático a este servicio.

De estas dos formas será posible montar una página web o aplicación estática en Heroku. Si bien hay mejores opciones hoy en día, no está demás tener una alternativa a la mano.

Autor: cesc1989

Ingeniero de Sistemas que le gusta escribir y compartir sobre recursos que considera útiles, además que le gusta leer manga y ver anime.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .