#Deploy Heroku - Laravel 5.1 Tive alguns problemas ao tentar fazer o deploy ao Heroku, para mais detalhes vejam esse post Deployment broken when upgrading to Laravel 5.1.
Caso você esteja criando um projeto do zero utilize via Laravel Installer:
laravel new nome_appou via Composer:
composer create-project laravel/laravel --prefer-dist##Iniciar o git
Vamos da um git init.
##Criar os arquivos
Os arquivos .buildpacks e Procfile são arquivos específicos do Heroku, são eles que fazem a setting do server. Já o app_boot.sh é um shell que iremos rodar quando for montado o server. Vamos criar os arquivos com o comando touch na raiz do projeto:
touch .buildpacks Procfile app_boot.sh##Criar app no Heroku
heroku create name_app##Configurando os arquivos Agora vamos configurar o nosso server. Primeiramente a nossa BuildPacks usando a heroku-buildpack-multi, assim vamos especificar que tipo de servidor queremos montar (PHP e NodeJS).
heroku buildpacks:set https://github.com/heroku/heroku-buildpack-multi.gitAgora que o nosso servidor ja sabe que tem que ler o arquivo .buildpacks que criamos, vamos especificar os builds que queremos:
curl -s https://gist.githubusercontent.com/3runoDesign/7c4c8652c7c4543c9a3b/raw/5bb673135c6498abf8512b623e3d362efcfbd59c/buildpacks > .buildpacksComo falei do arquivo app_boot.sh que é um shell que iremos rodar quando for montado o server.
Nele vamos rodar o clear-compiled e o optimize do artisan e vamos fazer o Boot up na pasta public/.
curl -s https://gist.githubusercontent.com/3runoDesign/7c4c8652c7c4543c9a3b/raw/bdc5e201a7949c6d90c53ee2fd12dd164a173247/app_boot.sh > app_boot.shAgora vamos configurar o Procfile, com eles vamos "falar" em que momento vamos rodar o app_boot.sh e outros worker, para mais detalhes:
curl -s https://gist.githubusercontent.com/3runoDesign/7c4c8652c7c4543c9a3b/raw/2dec75e90b8d8c9ac165b412ec7d2b18861136c9/Procfile > ProcfileAlgo extremamente importante é configurar o arquivo composer.json.
...
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled"
],
"post-update-cmd": [
"php artisan clear-compiled"
],Tanto no post-install-cmd quanto em post-update-cmd deixe somente o comando php artisan clear-compiled.
##Adicionar as variáveis de ambiente
heroku config:set APP_ENV=production
heroku config:set APP_KEY=suaKeyAqui
heroku config:set APP_DEBUG=false##E por fim...
git add .
git commit -m "Start"
git push heroku master #&& git push origin master