Heroku CLI: Como desplegar una aplicación desde la terminal

Heroku es una plataforma de servicio de computación en la nube que permite desplegar aplicaciones sin preocuparte por la infraestructura, además de soportar múltiples lenguajes de programación.

Índice

¿Qué es Heroku y Heroku CLI?

Heroku es un PaaS (Platform as a Service) que nos permite desplegar nuestras aplicaciones sin preocuparnos por la infraestructura, soportando además múltiples lenguajes de programación. Todos los servicios que ofrece Heroku están orientados a startups o pequeñas empresas.

Utiliza contenedores Linux, llamados dynos para alojar las aplicaciones, así mismo cuenta con la posibilidad de agregar funcionalidades nuevas mediante add-ons.

Heroku nos ofrece un plan gratuito, lo que hay que tener en cuenta es que si una aplicación no recibe ninguna solicitud en 30 minutos, entrará en modo suspensión, por lo que a la siguiente petición se levantará de nuevo, lo que tardará más tiempo de lo normal la primera petición.

Por su parte, Heroku CLI, nos permite ejecutar Heroku desde nuestra terminal, se puede descargar desde aquí. Antes de usar Heroku y su CLI, nos debemos registrar desde aquí.

Uso de Heroku CLI

Una vez tengamos la cuenta creada en Heroku, y nos hayamos descargado Heroku CLI, vamos a nuestra terminal y comprobamos que heroku está correctamente instalado, para ello escribimos:


Text
heroku --version

Podemos crear la aplicación desde la web de Heroku, o desde Heroku CLI y luego conectarla con nuestro proyecto, nosotros vamos a hacer todo desde el CLI para aprender a manejarlo.

Primero que todo iniciamos sesión en Heroku a través de la terminal, escribimos lo siguiente en la terminal:


Text
heroku login

Una vez hemos iniciado la sesión, vamos al directorio de nuestro proyecto, inicializamos un repositorio de git previamente y ejecutamos lo siguiente:


Text
heroku create  --region=eu

Este comando nos crea una nueva aplicación de Heroku totalmente vacía. Si no escribimos nada en el application-name, este nombre es único, por lo que puede que no esté disponible, nos creará una aplicación con un nombre aleatorio. Es muy importante especificar la región, debido que eso condiciona las horas de mantenimiento de los servidores, entre otros factores en los que no vamos a profundizar, tenemos dos regiones para elegir: Estados Unidos y Europa, en nuestro caso elegimos Europa.

Una vez tenemos nuestra aplicación creada en Heroku, podemos añadirle add-ons, estos son funcionalidades o paquetes ‘extra’ a nuestra aplicación. Supongamos que queremos añadir una base de datos MySQL, primero accedemos a esta web, buscamos mysql, nos aparecen múltiples opciones, nosotros vamos a elegir JawsDB con la versión de kitefin, que es gratuita, dentro de la página del add-on vienen las instrucciones para instalarlo mediante la terminal, sería algo así:


Text
heroku addons:create jawsdb:kitefin -a

Ahora para realizar un deploy de nuestra aplicación, sería tan sencillo como hacer un commit de nuestros cambios en este caso usaremos la rama master, y luego ejecutar el siguiente comando:


Text
git push heroku master

Como vemos, en muy pocos comandos tenemos una aplicación creada y desplegada en Heroku, pero, ¿qué ocurre si ya tengo mi aplicación en Heroku creada desde hace tiempo,y ahora quiero enlazarla con código? No pasa nada, en este caso ejecutamos el siguiente comando:


Text
heroku git:remote -a

Esto no romperá los remote que ya tenemos configurados para nuestro repositorio git.

Si queremos eliminar nuestra app de Heroku por cualquier motivo, podremos hacerlo de la siguiente forma:


Text
heroku destroy -a

Nos pedirá confirmación para eliminar la aplicación, si queremos evitar esto, podemos añadir el argumento –confirm, esto hará que se elimine la aplicación sin confirmación.


Text
heroku destroy -a  --confirm

Algo muy importante, y que no debemos dejar de mencionar es el hecho de poder usar nuestras contraseñas sin incluirlas en el código, para ello Heroku nos ofrece la opción crear variables de entorno para esto y para otro tipo de variables que queramos incluir. Para hacer esto escribimos el siguiente comando:


Text
heroku config:set CONFIG_VALUE=password

Estos serían los comandos básicos para crear y desplegar una aplicación en Heroku. Heroku CLI tiene muchos más comandos interesantes que podrás consultar aquí de manera más detallada, o escribiendo en la terminal el típico help:


Text
heroku --help

Ejemplo con Spring Boot y Travis

Creación con Spring Boot e integración con Travis:

Ahora vamos a ver un ejemplo completo de un deploy de una aplicación creada en Java, con Spring Boot, si no conoces cómo crear una aplicación con Spring Boot te dejo este tutorial por aquí. A su vez, enlazaremos nuestra aplicación con Travis, que es un servicio de integración continua, si no sabes cómo enlazar un proyecto con Travis, te dejo este otro tutorial por aquí.

Creación de la aplicación en Heroku:

Una vez hemos creado el proyecto e inicializado nuestro repositorio de git y lo tenemos ejecutando perfectamente y enlazado con Travis, procedemos a crear la aplicación de Heroku, para ello nos vamos en nuestra terminal hasta el directorio del proyecto y ejecutamos:


Text
heroku create example-application-demo --region=eu

Una vez creada nos aparecerá esto:

La primera url será la dirección de nuestra aplicación, si accedemos y todo ha ido bien, veremos algo como lo siguiente:


Despliegue de la aplicación:

Aún no hemos desplegado nuestra aplicación en Heroku, solo hemos creado el espacio para poder alojarla.

Nuestra aplicación en Spring Boot va a tener la siguiente organización de ficheros, y como es a modo didáctico, no tendremos bases de datos, simplemente devolveremos un Hello World Heroku!

De manera simple, el controller llamará al service, y este último al repository que en lugar de devolver los datos desde una base de datos nos retornará Hello World Heroku!

Tenemos que tener en cuenta que si nuestra aplicación obtiene los datos desde una BBDD local, una vez subida a Heroku no podrá acceder a ella, por lo que tendremos que usar otro servicio de BBDD, todo ello lo especificaremos en el application.properties de Spring Boot.

Para esto, primero que todo habría que crear un fichero del estilo application-heroku.properties, de esta forma tendremos otro perfil en Spring que se llamará heroku. Ahí colocaremos la url de nuestra BBDD remota, el user, el password y todas las propiedades que sean necesarias que se ejecuten con ese perfil.

Ahora añadiremos el fichero Procfile, este es un mecanismo para declarar que comandos van a ser ejecutados por nuestra aplicación en Heroku, este fichero no debe tener extensión.

Quedaría algo de este estilo:


Text
web: java -Dserver.port=$PORT $JAVA_OPTS -Dspring.profiles.active=heroku -jar target/example-0.0.1-SNAPSHOT.war

Como vemos, en el fichero especificamos el perfil con el que queremos que se despliegue, en este caso con el que acabamos de crear. Bien, una vez hecho todo esto, y con todos nuestros cambios subidos a git en master, procedemos a desplegar nuestra aplicación en Heroku, así que ejecutamos lo siguiente:


Text
git push heroku master

Una vez termine el proceso nos saldrá algo como lo siguiente:

Y si accedemos a la url veremos esto:

Y ya tenemos nuestra aplicación lista en Heroku, si hemos tenido algún problema, podemos mirar el log de Heroku.


Text
heroku logs --tail

A la vez, como tenemos Travis integrado, cada vez que realizamos el despliegue, pasará todo el proceso de integración continua y deberíamos ver algo como lo siguiente en Travis:


Enlaces y referencias:

Spring boot: https://spring.io/projects/spring-boot

Travis: https://travis-ci.org/

Heroku CLI: https://devcenter.heroku.com/articles/heroku-cli

Conclusiones:

Como hemos visto Heroku puede ser muy sencillo de utilizar, además nos lo da todo hecho, sin tener que configurar nada, y es escalable rápidamente. Sin embargo, sus add-ons suelen ser costosos, no nos permite ‘personalizar’ nuestras aplicaciones ya que nos lo da todo hecho y tiene ciertos límites de uso como los que nos mencionan aquí. Seguramente sea una buena opción para aplicaciones pequeñas-medianas o startups.

Comentarios

2 respuestas

  1. Excelente, buen artículo! Una pregunta, que pasa si cuando estas haciendoun commit, no te salen los archvios a subir.
    y luego que haces el push, al final la app da error. Gracias y saludos.

  2. Buenas tardes le escribo desde Ecuador, quisiera conocer como podemos cancelar el servicio de Heroku que nos debitan todos los meses desde nuestra tarjeta corporativa y esa valor no corresponde a servicios que nosotros hayamos contratado, por favor su ayuda con alguna respuesta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

Consultor tecnológico de desarrollo de proyectos informáticos. Graduado en Ingeniería Informática. Con ganas de emprender y aprender continuamente. Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación. Somos expertos en Java/Java EE

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

02/03/2026

José Antonio Sánchez Segovia

Zephyr es un RTOS open source respaldado por la Linux Foundation que permite desarrollar dispositivos embebidos conectados, eficientes y escalables, facilitando el paso de prototipo a producto final con una arquitectura mantenible.

23/02/2026

Enrique Casado Díez

LoRa y LoRaWAN son tecnologías clave en el ecosistema IoT cuando se requiere largo alcance y bajo consumo energético. En este artículo analizamos su funcionamiento, Spreading Factor, link budget, arquitectura de red, frecuencias y clases de dispositivos, con un caso práctico real.

19/02/2026

Juan José Díaz Antuña

Copilot Chat es la forma más sencilla y segura de empezar a usar IA en Microsoft 365. En este artículo vemos cómo funciona, cómo activarlo y en qué se diferencia de Microsoft 365 Copilot, Copilot Studio y los Agentes Inteligentes, con ejemplos prácticos y una comparativa clara.