Heroku

Heroku es una plataforma como servicio de computación (PaaS) en la nube que soporta distintos lenguajes de programación. Es una de las primeras plataformas de computación en la nube, que fue desarrollada desde junio de 2007, con el objetivo de soportar solamente el lenguaje de programación Ruby, pero posteriormente se ha extendido el soporte a Java, Node.js, Scala, Clojure, Python, PHP y Go. - Wikipedia

Heroku nos servirá como servicio gratuito para el alojamiento de una aplicación web en Java de los programas-proyectos que realicemos, de manera pública.

Para lo anterior de forma general llevarás a cabo lo siguiente:

  • Obtendrás una cuenta en Heroku.
  • Configurarás tu entorno con los datos de tu cuenta en Heroku.

Creación de cuenta en Heroku

  1. Accede a https://signup.heroku.com y rellena el formulario mostrado tomando en cuenta lo siguiente:

    • First name: Tu nombre personal
    • Last name: Tus apellidos paternos/maternos
    • Email address: Tu correo electrónico personal
    • Role: Selecciona student
    • Country: Selecciona Mexico
    • Primary development language: Selecciona el lenguaje de programación en el cual desarrollas principalmente, por ejemplo Java.

    Al terminar da click al botón Create free account.

    NOTA: tu correo electrónico ($CORREO_ELECTRONICO más abajo) es tu cuenta de usuario en Heroku.

  2. Te llegará un correo electrónico a tu correo electrónico personal registrado previamente para que confirmes la creación de tu cuenta de usuario ante Heroku y puedas establecer tu contraseña ($CONTRASEÑA más abajo). Es importante que prestes atención a este correo electrónico.

Podrás iniciar sesión en Heroku accediendo a https://id.heroku.com/login haciendo uso de tu correo electrónico y la contraseña establecida.

Instalación de Heroku CLI

Para realizar el deployment de tu aplicación en Heroku requieres de Heroku CLI, una aplicación cliente para dar ordenes-instrucciones a Heroku sobre la administración de tus aplicaciones hospedadas.

  1. Accede a https://devcenter.heroku.com/articles/heroku-cli#tarballs y descarga el archivo ofrecido mediante el enlace Linux (x64). En este caso se ha descargado el archivo heroku-linux-x64.tar.gz en el directorio $HOME/Downloads.

  2. Crea el directorio $HOME/.local/opt/heroku-cli y accede a él:

    alumno@servidor:~ $ mkdir $HOME/.local/opt/heroku-cli
    alumno@servidor:~ $ cd $HOME/.local/opt/heroku-cli
    
  3. Descomprime el archivo heroku-linux-x64.tar.gz:

    alumno@servidor:~/.local/opt/heroku-cli $ tar xf $HOME/Downloads/heroku-linux-x64.tar.gz
    

    Al terminar obtendrás lo siguiente:

    alumno@servidor:~/.local/opt/heroku-cli $ pwd && tree -L 3
    /home/alumno/.local/opt/heroku-cli
    .
    └── heroku
        ├── LICENSE
        ├── README.md
        ├── bin
        │   ├── heroku
        │   ├── heroku.cmd
        │   ├── node
        │   └── run
        ├── lib
        │   ├── analytics.js
        │   ├── deps.js
        │   ├── file.js
        │   ├── hooks
        │   ├── index.js
        │   └── user_config.js
        ├── node_modules
        │   ├── @heroku
        │   ├── @heroku-cli
        ...
            │   ├── yarn
        │   └── yeast
        ├── oclif.manifest.json
        ├── package.json
        └── yarn.lock
    
    283 directories, 14 files
    

    Observa la presencia del directorio bin, el cual tendrá que estar disponible en la variable de entorno $PATH.

  4. Agrega /home/alumno/.local/opt/heroku-cli/heroku/bin a la variable de entorno $PATH editando el archivo de configuración de la shell en uso, por ejemplo para Bash sería $HOME/.bashrc:

    alumno@servidor:~ $ grep PATH $HOME/.bashrc
    export PATH="$HOME/.local/opt/heroku-cli/heroku/bin:$HOME/.local/bin:$HOME/.local/sbin:/sbin:/usr/sbin:/usr/local/sbin:$PATH"
    
  5. En otra terminal verifica la instalación de Heroku CLI:

    alumno@servidor:~ $ which heroku
    /home/alumno/.local/opt/heroku-cli/heroku/bin/heroku
    alumno@servidor:~ $ heroku --version
    heroku/7.0.94 linux-x64 node-v10.4.1
    
  6. Suponiendo que ya tienes una cuenta de usuario en Heroku puedes iniciar sesión mediante Heroku CLI:

    alumno@servidor:~ $ heroku login
    heroku: Enter your login credentials
    Email: $CORREO_ELECTRONICO
    Password: $CONTRASEÑA
    Logged in as $CORREO_ELECTRONICO
    

    NOTAS: Puedes abrir otra terminal y ejecutar los comandos:

    • heroku status: para obtener el estado de los servidores de Heroku:

      alumno@servidor:~ $ heroku status
      Apps:      No known issues at this time.
      Data:      No known issues at this time.
      Tools:     No known issues at this time.
      
    • heroku apps: para obtener el estado de tus apps (aplicaciones) hospedadas en los servidores de Heroku:

      alumno@servidor:~ $ heroku apps
      === $CORREO_ELECTRONICO Apps
      
    • heroku logout: para cerrar tu sesión en Heroku

      alumno@servidor:~ $ heroku logout
      Logging out... done