Colocar uma app Spring Boot no Heroku

O Spring Boot é um sub-projeto do Spring Framework (a framework Java mais conhecida) dedicado aos microserviços. A ideia é criar webapps/websites/serviços Spring rapidamente e com o mínimo de configuração. Para isso, o Spring Boot aposta fortemente na programação por convenção (convention over configuration).

O Heroku é um PaaS (plataforma como serviço) para fazer deploy de aplicações. Suporta diversos runtimes de programação (Java, Node.js, Ruby, PHP, etc.) e tem uma versão gratuita. É uma PaaS comparável ao Openshift, Google App Engine, Microsoft Azure, etc.

Vejamos como fazer deploy de uma app Spring Boot simples (demo) no Heroku ou de uma que já tenha.
tldr: basta um git push para que se auto-desencadeie um deploy em produção.

As instruções são as mesmas para Windows, Mac e Linux e são muito parecidas para outros runtimes que não o Java.

A cloud

  1. Registe-se no Heroku
  2. Crie uma app no dashboard de criação de apps (guarde-o nos favoritos). Para tal, clique em “New” > “Create new app”:

    New > Create New App

  3. Dê um nome à app, escolha uma região e confime em “Create App”.
    Será reencaminhado para a página da app criada.
    Explore as diferentes tabs da mesma.

  4. Saque e instale o Heroku CLI
    Este é o cliente do Heroku para a sua linha de comandos. Permite gerir as apps (criar, listar, apagar, ver logs, fazer deploy, etc.) da sua conta a partir da linha de comandos do seu S.O.
  5. Para testar a instalação do Heroku CLI, numa nova linha de comandos corra:
    > heroku --version
  6. Execute agora:
    > heroku login
    Faça login com a sua conta Heroku

(Nota: também é possível criar apps com o Heroku CLI, mas decidi mostrar como se faz com a GUI para que a conheça)

O código

  1. Se já tiver um projeto, vá até à sua pasta numa linha de comandos e vá para o Passo 4:
    Caso contrário, crie um projeto Spring Boot em Spring Initializr (uma espécie de construtor de projetos Spring Boot)
  2. Descompacte-o para uma pasta
  3. Na linha de comandos, faça cd para o seu projeto
  4. Inicialize aí um repositório git:
    > git init
  5. Adicione um remote (use o nome da app que deu no serviço do Heroku):
    > heroku git:remote -a NOME_DA_SUA_APP
    (isto é equivalente a adicionar um repositório git)
  6. Para configurar o Git no seu IDE e/ou cliente Git, não pode usar a sua password do Heroku. Em vez disso, deverá usar a “API Key” como password. Vá atá aos “Account Settings“:

O deploy

  1. Adicione toda a pasta atual e faça commit+push para o remote heroku com o seu cliente Git, IDE ou na consola:
    > git add .
    > git commit -am 'First commit'
    > git push heroku master

  2. Após alguns instantes, terá a sua app “deployed”.
    O URL da mesma será exibido no fim do processo.

    Opcionalmente, este repositório pode ser utilizado para o seu controlo de versões. Caso contrário terá de ter dois remotes.
  3. Parabéns! A sua app Spring Boot está na online na cloud Heroku. Se por acaso tiver ocorrido algum problema, pode sempre ver os logs:
    > heroku logs --tail

Deixar uma resposta