Skip to main content

Implantar aplicativos Java na Heroku

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Descrever as diferentes opções de implantação com a Heroku.
  • Explicar os prós e contras de cada opção.

A Heroku oferece várias opções de implantação. O método escolhido depende do seu processo de implantação, requisitos e aplicativos específicos. 

Implantar com o Git

Esse método é o modo mais simples de implantação. Adicione seu aplicativo Heroku como um remoto de um repositório Git existente e, em seguida, use o git push para enviar seu código para a Heroku. A Heroku cria automaticamente seu aplicativo e cria um release.

Implantar com a integração do GitHub

A integração do GitHub permite implantar alterações de um repositório do GitHub diretamente na Heroku. Essa integração tem mais recursos do que qualquer outra opção de implantação. Depois de vincular seu repositório, as alterações enviadas por push para ele serão implantadas automaticamente no aplicativo. Você pode configurar implantações automáticas para uma ramificação específica ou acionar implantações do GitHub manualmente. Se você usar a integração contínua (CI), como a Heroku CI, poderá impedir implantações na Heroku se os testes falharem.

A integração do GitHub também é útil para automatizar implantações em pipelines. Por exemplo, ao mesclar uma alteração com a ramificação principal, você pode implantá-la automaticamente na preparação para testes. 

Implantar com aplicativos de revisão da Heroku

Os aplicativos de revisão permitem que você implante qualquer solicitação pull (PR) do GitHub como um aplicativo isolado e descartável. Você pode demonstrar e testar a PR sem substituir seu aplicativo de produção, uma ótima economia de tempo nos testes. Fechar a PR destrói o aplicativo de revisão.

Implantar com o botão 'Implantar na Heroku'

O botão Implantar na Heroku permite implantar um aplicativo na Heroku com cliques, a partir de um navegador da Web. Você pode parametrizar cada botão com configurações diferentes, como passar variáveis de ambiente personalizadas para a Heroku, usar uma ramificação Git específica ou fornecer chaves OAuth. Os aplicativos implantados com esse botão não são atualizados automaticamente quando você adiciona novas confirmações ao repositório do GitHub.

Implantar com o Docker

O Docker agrupa seus aplicativos em ambientes independentes. Esse isolamento garante que eles se comportem da mesma forma tanto no desenvolvimento quanto na produção. O Docker fornece mais controle sobre as linguagens, estruturas e bibliotecas usadas para executar seu aplicativo. Para implantar um contêiner na Heroku, envie uma imagem por push para o registro de contêiner da Heroku ou declare-a no arquivo heroku.yml do seu aplicativo para criá-lo automaticamente.

Implantar com o Hashicorp Terraform

O Hashicorp Terraform é uma ferramenta de infraestrutura como código que ajuda a gerenciar infraestruturas complexas. Você pode definir seus aplicativos com HCL, uma linguagem de configuração declarativa, para automatizar o processo de implantação e gerenciamento de aplicativos Heroku. O Terraform v0.12+ permite armazenar o estado remoto, para que você possa executar o Terraform em um dyno Heroku e armazenar o estado do Terraform em um banco de dados Heroku Postgres.

Comparar opções de implantação

Use esta tabela para ajudar a escolher a melhor opção de implantação para seu caso de uso e fluxo de trabalho.

Método de implantação

Requisitos

Mais adequado para

Prós

Contras

Git

- Acesso total ao repositório Git e ao aplicativo Heroku para enviar o código por push manualmente para a produção. 

- Projetos com equipes pequenas e confiáveis.

- Simples de adicionar a qualquer fluxo de trabalho baseado em Git

- Compatível com submódulos Git 

- Requer a implantação manual do código com git push

Integração com o GitHub

- Acesso de administrador a um repositório do GitHub

- Implantações automatizadas

- Implanta aplicativos automaticamente e os mantém atualizados

- Integra-se com Heroku Pipelines, Aplicativos de revisão e Heroku CI para um fluxo de trabalho contínuo

- Não tem compatibilidade com submódulos Git

Aplicativos de revisão da Heroku

- A integração do GitHub 

- Pipelines da Heroku

- Projetos no GitHub com aplicativos implantados em múltiplos ambientes.

- Opção para criar e atualizar automaticamente Aplicativos de revisão para cada PR

- Compatível com imagens do Docker

- Compatível com Heroku Private Spaces para testar alterações em um ambiente isolado

- Custos adicionais de recursos usados nos Aplicativos de revisão. Veja dicas sobre como otimizar custos no Centro de Desenvolvimento.

Botão “Implantar na Heroku”

- Um repositório GitHub

- Um arquivo app.json válido no diretório raiz do projeto

- Aplicativos fornecidos aos seus usuários ou clientes, como projetos de código aberto

- Integrar novos contratados

- Ótimo para compartilhar projetos de modelo

- Fácil de adicionar ao arquivo README ou à página da Web de um projeto

- Fornece um modelo com valores padrão pré-configurados, variáveis de ambiente e parâmetros

- Não tem compatibilidade com submódulos Git

- Não tem atualizações automáticas quando o repositório muda. Você deve usar outro método de implantação para implantações subsequentes no mesmo aplicativo.

Docker

- Uma imagem do Docker

- Aplicativos com pilhas personalizadas.

- Mais controle sobre a pilha do seu aplicativo

- Gerar imagens automaticamente ou enviar uma imagem existente para o registro do contêiner

- Consistência entre ambientes

- Compatível com Aplicativos de revisão da Heroku

- Você deve manter sua própria pilha

- Sem compatibilidade com promoções de pipeline

Hashicorp Terraform

- Terraform

- Aplicativos com componentes de infraestrutura complexos

- Automatiza as implantações de aplicativos Heroku

- Permite que você implante aplicativos Heroku como código

- Simplifica o gerenciamento de implantações grandes e complexas

- Pode configurar aplicativos, Private Spaces ou recursos de outros provedores em uma arquitetura multi-provedor repetível

O Suporte da Heroku não pode fornecer ajuda para essas implantações mais complexas

Resumo

Agora você sabe sobre as diferentes opções de implantação. Continue este módulo para saber mais sobre algumas das infraestruturas usadas para executar aplicativos na Heroku.

Recursos 

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira