Skip to main content

Executar tarefas com a fase de release

Objetivos de aprendizagem

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

  • Descrever como configurar tarefas na fase de release.
  • Descrever como verificar a atividade e os logs relacionados a releases.

Usar a fase de release

A fase de release opcional possibilita a execução de tarefas antes de implantar um novo release.

Casos de uso

As tarefas comuns executadas durante esta fase incluem:

  • Enviar CSS, JS e outros ativos para uma rede de entrega de conteúdo (CDN) ou particionamento AWS S3.
  • Preparar ou invalidar armazenamentos em cache.
  • Executar migrações de esquema de banco de dados.

Especificar tarefas da fase de release

Seu aplicativo pode usar o processo de release para executar tarefas de fase de release em um dyno único. Para especificar tarefas, adicione-as ao Procfile do aplicativo. Adicione um tipo de processo de release ao arquivo, juntamente com o comando a ser executado.

Por exemplo, para um aplicativo Django, veja como especificar uma migração de banco de dados em seu arquivo:


release: python manage.py migrate

Se você implanta imagens do Docker na Heroku, saiba mais sobre como usar a fase de release com o Container Registry.

Quando ocorre a fase de release?

As tarefas da fase de release são executadas a cada novo release, a menos que o release seja causado por alterações nas variáveis de configuração de um complemento. Todos os eventos a seguir criam um release:

  • Uma compilação de aplicativo bem-sucedida
  • Uma alteração no valor de uma variável de configuração
  • Uma promoção de pipeline
  • Uma reversão
  • Um release através da API da plataforma
  • Provisionar um novo complemento

Os dynos de aplicativos não começam para um novo release até que a fase de release termine com êxito. Se uma tarefa da fase de release falhar, o novo release não será implantado. 

Reverter um release

Se você implantar código com bugs na produção, reverta as alterações de código relevantes localmente com o git revert e implante novamente.

Se você precisar reverter um release devido a uma configuração incorreta ou a outros problemas específicos da plataforma Heroku, use o comando heroku rollback. Este comando reverte seu aplicativo para um release v40 anterior:

heroku rollback v40

Rolled back to v40

Se você não especificar um número de release, seu aplicativo será revertido em um único release.

O comando heroku rollback cria um novo release. Este release copia o slug compilado e as variáveis de configuração do release para o qual você está revertendo.

Nota

Aviso:

A execução em um release revertido é uma correção temporária para uma implantação incorreta. Confirme uma correção para o seu problema e envie-a por push para a Heroku o mais rápido possível.

Verificar o status do release

Para verificar o status de um release, incluindo releases com falha e pendentes devido a uma fase de release de longa duração, execute heroku releases.

heroku releases

=== example-app Releases - Current: v52

v53  Deploy ad7c527 release command failed        example@heroku.com

v52  Deploy b41eb7c                               example@heroku.com

v51  Deploy 38352d3                               example@heroku.com

Use o comando heroku releases:output para ver o resultado de uma execução de fase de release específica:

heroku releases:output v40

--- Migrating db ---

INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.

INFO  [alembic.runtime.migration] Will assume transactional DDL.

Verificar os logs do release

Acesse os logs associados a um release na guia Atividade do seu aplicativo. Clique em Exibir log do release ao lado do release que você deseja exibir. 

Feed de atividades de um aplicativo Heroku mostrando compilações e releases bem-sucedidos.

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