Deploy de Aplicação Node.js pelo Github no Heroku com Docker - ZeTheGreat/iotNodeJS GitHub Wiki

Deploy de Aplicação Node.js pelo Github no Heroku com Docker

Antes de começar é preciso que você já tenha um projeto node.js base, portanto, caso você não tenha, crie um através deste link

Criando aplicação no Heroku

Na tela de inicio clique no botão new, depois create new app. Nomeie seu aplicativo.

Configurando o aplicativo

Na página do seu aplicativo vá em Deploy em Deployment method escolha Github. Entre em sua conta e dê as devidas permissões.

Com o acesso do Github permitido, coloque o nome do repositório que está o código fonte do seu projeto, caso sua aplicação ainda não estiver no Github, crie um repositório e suba

Com isso feito, você pode escolher a a opção Enable Automatic Deploys para que toda vez que seu código no Github for atualizado, o Heroku também atualizará o servidor da aplicação.

Por fim, clique em Deploy branch para que sua branch seja lida pelo Heroku.

Configurando o projeto

Em seu projeto atual, na pasta raiz, crie um arquivo chamado heroku.yml com o seguinete conteúdo:

build:
  docker:
    web: Dockerfile

Nota: caso seu Dockerfile não possua o comando CMD deve-se utilizar o comando run no arquivo heroku.yml, vaja mais

Com estas três linhas será posível que o heroku consiga chegar até seu Dockerfile e criar uma imagem no servidor.

Importante: o Dockerfile também deve estar na pasta raiz do projeto.

Tornando o projeto um container

Para que o Heroku entenda que esta aplicação deve rodar como um container, é necessário avisá-lo sobre isso, então:

Adicione ao repositório as modificações:

git add heroku.yml

Commite as alterações:

git commit -m "Adicionado heroku.yml"

Feito o commit em sua conta do Github, digite o seguinte comando:

heroku stack:set container

Talvez você precise indicar o nome do aplicativo que consta em sua conta do heroku:

heroku stack:set container --app <nome-do-seu-app>

Com este comando, estamos dizendo para o Heroku que gostaríamos que ele rodasse nossa aplicação como um container e não como uma aplicação convencional.

Com estes passos concluidos, podemos pushar o projeto para sua conta no Github:

git push

Digite suas credenciais, se necessário.

Verificando o deploy

Após pushar o projeto para o Github, é possível acompanhar o build da aplicação no heroku.

Vá na página de sua alicação e clique em activity e depois em view build log. Com o building termindado, é possível acessar a aplicação através da sessão Domains and certificates na aba Settings ou simplesmente clicar em Open app no canto superior direito da página.