anúncios

sexta-feira, 18 de outubro de 2019

Deploy de aplicação PHP no Heroku

O objeto deste howto é explicar os procedimentos para deploy de uma aplicação web desenvolvida em PHP com Framework Laravel no Heroku.

O que é Heroku?

Heroku é uma solução de Plataforma como Serviço ( Platform as a Service - PaaS), no qual o fornecedor entrega para o cliente um ambiente pronto para receber a aplicação. Diferente do IaaS Infraestrutura como Serviço ( Infrastructure as a Service - IaaS), no qual o cliente contrata máquinas (reais ou virtuais) e é responsável pela instalação de bibliotecas, montagem das estruturas do sistema de arquivos, entre outros recursos, o PaaS é uma solução de alto nível que abstrai este tipo de preocupação.

Como o ambiente é entregue pelo fornecedor, ao cliente basta se concentrar em desenvolver e instalar a aplicação. Normalmente nos serviços PaaS a instalação ou atualização é feita através de commits em repositórios remotos vinculados à aplicação, (e.g. GIT).

Requerimentos
  1. Criar a conta no Heroku, caso ainda não tenha;
  2. Instalar o Heroku CLI conforme o SO que estiver instalado;
  3. Instalar o sistema de versionamento GIT;
Após fizer os requerimentos obrigatórios, podemos seguir os procedimentos seguintes:

Acesse até o diretório onde encontra-se o seu projeto desenvolvido em PHP com Framework Laravel

Inicio do repositório local e adicionando os arquivos para commit
git init
git add .
git commit -m "first commit"


Crie um Procfile. Heroku lança um servidor Apache com PHP para servir o aplicativo a partir do DocumentRoot, que no nosso caso é a diretório /public.
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile

git add Procfile
git commit -m "Heroku Procfile"


Criar a aplicação no Heroku
heroku create nome-app

Buildpack PHP do Heroku
heroku buildpacks:set heroku/php

Acessar o bash do Heroku
heroku run bash

Gerar a KEY da aplicação
php artisan key:generate --show

Adicionar a KEY no .env
heroku config:set APP_KEY = [ colocar a chave gerada aqui ]

Adicionar credenciais do banco de dados no arquivo .env

heroku config:set DB_HOSTNAME = [ colocar o IP do servidor do banco de dados ]
heorku config:set DB_PORT = [ MySQL colocar 3306 ou PostgreSQL colocar 5432 ]
heroku config:set DB_DATABASE = [ colocar o nome do banco de dados ]
heroku config:set DB_USERNAME = [ colocar o usuário de conexão com banco de dados ]
heorku config:set DB_PASSWORD = [ colocar o password do usuário de conexão com banco de dados ]


Push do projeto no repositório remoto GIT no Heroku
git push heroku master --app nome-app

Executar os migrations e seeds no Heroku
php artisan migrate --app nome-app
php artisan db:seed --app nome-app


Abrir a aplicação no browser que definiu como padrão
heroku open --app nome-app

Feito!

Nenhum comentário:

Postar um comentário