Esta é a demonstração de Christian Landgren, Iteam para STHLM.js em maio de 2013
Sobre implantação / devOps
Por que usar o think deployment durante o desenvolvimento? Encontre problemas mais rápido, menos tempo gastando diferenças de solução de problemas e testes de integração.
Obtenha um ambiente de produção instantânea em seu laptop.
Configure todas as dependências com o chef. Crie seus projetos implantáveis desde o início.
Demo heroku
heroku create
git init
express
node app.js
Edite app.js e faça com que ele escute a porta local 3000 se ainda não estiver configurada pelo ambiente
app.listen(process.env.PORT || 3000);
Teste seu aplicativo em um navegador http: // localhost: 3000
Adicionar um Procfile
touch Procfile
Especifique como seu aplicativo será iniciado
web: node app.js
Por fim, envie isso para Heroku e observe os resultados
git add .
git commit -am "Initial commit"
git push heroku
heroku open
Isso é perfeito para colocar seu aplicativo “lá em cima” o mais rápido possível. Mas existem algumas coisas que você deve saber, Websockets não são suportados (ainda) e se você deseja usar SPDY ou outras formas diretas de comunicação, você está sem sorte. Além disso, a grande vantagem do node é sua maneira livre de recursos de lidar com várias conexões, então não queremos muitas coisas no caminho do nosso aplicativo. Vamos entrar no mundo SSH;)
Então, como obtemos um cenário de implantação no estilo Heroku sem Heroku em nossos próprios servidores ou servidores virtuais?
Configurar vagabundo heroku
vagrant init
Altere as configurações da máquina (escolha o ip local) e especifique qual sistema operacional deseja usar.
A caixa a seguir é pré-configurada para corresponder às especificações do Heroku, tanto quanto possível:
Vagrant::Config.run do |config|
config.vm.box = "heroku"
config.vm.box_url = "http://dl.dropbox.com/u/1906634/heroku.box"
end
E corra vagabundo. A caixa será baixada e importada para você.
vagrant up
Configurar chaves SSH
ssh vagrant@<server IP> "cat >> ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub
git remote add origin vagrant@<server IP>:/home/vagrant/sthlm.js
Demo git-deploy
gem install git-deploy
git deploy setup
git deploy init
Edite o script de implantação em / implantar / reiniciar
touch tmp/restart.txt
echo "restarting Node.JS app"
npm install
npm test
/opt/ruby/bin/foreman start
Agora você tem sua própria hospedagem em nuvem estilo heroku instalada em seu computador. Pronto para usar sempre que você quiser testar seu código. Basta pressionar com:
git push
E se você navegar para http: // ip-adress: 5000 , verá o seu expresso web