Objetivos:
no final deste capítulo, você deve ser capaz de:
- Implantar aplicativos simples para o Heroku
- Adicionar variáveis de ambiente para Heroku
Implantação Intro
Agora que você tem construído muito poucas aplicações, é hora de compartilhá-los com outras pessoas! Para implantar nossas aplicações para que elas sejam publicamente visíveis na internet, estaremos usando Heroku.
para começar, instale aqui o CLI do Heroku (toolbelt). Certifique-se também de se inscrever numa Conta em heroku.com.
vamos começar com uma aplicação simples:
no nosso aplicativo.js
uma vez que você se inscreveu e instalou uma conta certifique-se de que você está no terminal e digite em heroku login
e digite suas credenciais.
para criar uma aplicação heroku simplesmente digite heroku create NAME_OF_YOUR_APPLICATION
(dê-lhe um bom nome!)
o próximo arquivo que precisamos criar é chamado de Procfile
. Para isso, temos de ter a certeza que isto está no directório raiz e, em seguida, executar o seguinte no terminal
echo web: node app.js > Procfilegit add .git commit -m "adding Procfile"
agora podemos implantar a nossa aplicação usando git push heroku master
! Uma vez terminado, você pode digitar heroku ps:scale web=1
(para iniciar um processo para a sua aplicação web) e, em seguida, heroku open
e você deve ver a sua aplicação ao vivo!
para mais informações, consulte este guia sobre o nó de implantação.aplicações js para Heroku.
variáveis de ambiente
para armazenar variáveis de ambiente podemos usar o heroku config:set NAME_OF_VARIABLE=VALUE
e então acessar essa variável em nossa aplicação de nós usando process.env.NAME_OF_VARIABLE
. Variáveis de ambiente são essenciais para configurar uma aplicação para produção (veremos um exemplo disso na próxima seção também). Aqui está o que o comando terminal parece para adicionar uma variável de ambiente:
heroku config:set DEBUG=false -a NAME_OF_APPLICATION
exemplo App
você pode encontrar uma aplicação Heroku muito simples aqui.
Screencast
para percorrer o processo de implantação do Heroku, confira este screencast: