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
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.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.
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
.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
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
.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"
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
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 Herokualumno@servidor:~ $ heroku logout Logging out... done