SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Deploy de um mini app
Rails com heroku
Bárbara Barbosa e Raphael Monteiro
https://www.heroku.com/
Crie a sua conta
Acesse: https://signup.heroku.com/dc
Instale o heroku toolbelt
Acesse: https://devcenter.heroku.
com/articles/getting-started-with-ruby#set-up
Instale o heroku toolbelt
Funcionalidades:
● Comandos do terminal
● Comandos do git
● Foreman
Configure o heroku
$ heroku login
O projeto!
$ git clone https://github.com/bahbbc/first_app
$ cd first_app
E o meu app?
$ git init
$ git add .
$ git commit -m “lero lero do commit”
$ git remote add origin <link_do_app_no_git>
$ git push origin master
Experimente depois o comando git add -i
Heroku gems
No Gemfile adicione:
gem 'rails_12factor', group: :production
E depois rode:
$ bundle install
Heroku gems
Use o postgres
Caso não tenha usado a opção --database=postgres
na criação do app
● substitua gem ‘sqlite3’ por ‘pg’ no seu
Gemfile
● corrija o seu database.yml (é necessário estar
logado com um usuário no postgresql)
● não esqueça o bundle install!
Use o postgres
Use o postgres
Caso não tenha o postgres siga esse tutorial:
https://www.digitalocean.
com/community/tutorials/how-to-install-and-
use-postgresql-on-ubuntu-14-04
Especifique a versão do ruby
A versão do Gemfile deve ser igual a instalada
- $ ruby -v
Especifique a versão do ruby
A versão 2.1.4 é a mais recente!
Finalmente deploy!
- $ heroku create
- $ git push heroku master
Finalmente deploy!
E os meus dados?
A base de dados de produção ainda não foi
gerada!
- $ heroku run rake db:migrate
Esse app não tem nada na base, então
não precisamos desse comando
Cadê meu app?
- $ heroku ps:scale web=1
- $ heroku open
- https://safe-atoll-5030.herokuapp.com/
Uhuul!
Personalize o nome
- $ heroku apps:rename <new_name>
- meu app: https://batata-dancante.
herokuapp.com/
Veja logs
● Logs: - $ heroku logs --tail
Ainda tem mais...
● Declarar comandos para inicializar o app
com o uso de um procfile (muito útil para
apps Java, por exemplo)
Ainda tem mais...
● Escalar máquinas: $ heroku ps:scale web=2
● Cuidado! O heroku é grátis apenas para um
dos planos
(dynos)
cointainers linux
especificos para seu app
Adicione serviços no app
https://addons.heroku.com/
- $ heroku addons:add redistogo:nano
Adicione redis, mongodb, new relic, mailers,
processamento de imagens e doc, etc...
Vários add-ons tem planos
free!
Para saber mais:
● https://devcenter.heroku.
com/articles/getting-started-with-rails4
● https://github.com/ddollar/foreman
● http://guides.rubyonrails.
org/getting_started.html
● Startup - Mercado Financeiro
● Plataforma online
● Ruby on Rails / Git / NoSQL / Linux
Deploy Rails Heroku

Mais conteúdo relacionado

Mais procurados

Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007George Guimarães
 
Atualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xAtualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xRodrigo Urubatan
 
Construindo sites e sistemas com WordPress
Construindo sites e sistemas com WordPressConstruindo sites e sistemas com WordPress
Construindo sites e sistemas com WordPressLeo Baiano
 
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITMontando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITLeo Baiano
 
Django deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produçãoDjango deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produçãoArtur Felipe Sousa
 
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensaSeja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensagarux
 
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Leo Baiano
 
Poco Bibliotecas C++
Poco Bibliotecas C++Poco Bibliotecas C++
Poco Bibliotecas C++Uilian Ries
 
Yet Another Ruby Framework - Como o Rails funciona por dentro
Yet Another Ruby Framework - Como o Rails funciona por dentroYet Another Ruby Framework - Como o Rails funciona por dentro
Yet Another Ruby Framework - Como o Rails funciona por dentroCarlos Brando
 

Mais procurados (20)

Dominando o customizer
Dominando o customizerDominando o customizer
Dominando o customizer
 
Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007
 
Git - Visão Geral
Git - Visão GeralGit - Visão Geral
Git - Visão Geral
 
Atualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xAtualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.x
 
Construindo sites e sistemas com WordPress
Construindo sites e sistemas com WordPressConstruindo sites e sistemas com WordPress
Construindo sites e sistemas com WordPress
 
Gulp
GulpGulp
Gulp
 
Ionic workshop
Ionic workshopIonic workshop
Ionic workshop
 
Como fazer boas libs
Como fazer boas libs Como fazer boas libs
Como fazer boas libs
 
Docker volumes
Docker volumesDocker volumes
Docker volumes
 
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITMontando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
 
Django deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produçãoDjango deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produção
 
Debug de cabo a rabo
Debug de cabo a raboDebug de cabo a rabo
Debug de cabo a rabo
 
Plugins Wordpress
Plugins WordpressPlugins Wordpress
Plugins Wordpress
 
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensaSeja um Perl Core Hacker - é (muito) mais fácil do que você pensa
Seja um Perl Core Hacker - é (muito) mais fácil do que você pensa
 
Jdk
JdkJdk
Jdk
 
Tracking.js
Tracking.jsTracking.js
Tracking.js
 
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
 
Poco Bibliotecas C++
Poco Bibliotecas C++Poco Bibliotecas C++
Poco Bibliotecas C++
 
Apresentação rest api
Apresentação rest apiApresentação rest api
Apresentação rest api
 
Yet Another Ruby Framework - Como o Rails funciona por dentro
Yet Another Ruby Framework - Como o Rails funciona por dentroYet Another Ruby Framework - Como o Rails funciona por dentro
Yet Another Ruby Framework - Como o Rails funciona por dentro
 

Semelhante a Deploy Rails Heroku

Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresasRafael Gomes
 
Docker API Client with PHP and PYTHON
Docker API Client with PHP and PYTHONDocker API Client with PHP and PYTHON
Docker API Client with PHP and PYTHONIago Machado
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Michael Castillo Granados
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!magnunleno
 
Dockerizando aplicações em uma Fintech
Dockerizando aplicações em uma FintechDockerizando aplicações em uma Fintech
Dockerizando aplicações em uma FintechRafael Gomes
 
Heroku escalabilidade
Heroku escalabilidadeHeroku escalabilidade
Heroku escalabilidadeBruno Andrade
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIRudá Almeida
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftGetup Cloud
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkJaime Neto
 
Advanced live testing em tempo real
Advanced live testing em tempo realAdvanced live testing em tempo real
Advanced live testing em tempo realiMasters
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-toolunifesptk
 
Desenvolvendo com Angular CLI
Desenvolvendo com Angular CLIDesenvolvendo com Angular CLI
Desenvolvendo com Angular CLIVanessa Me Tonini
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanElton Minetto
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoMario Chaves
 

Semelhante a Deploy Rails Heroku (20)

Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
 
Docker API Client with PHP and PYTHON
Docker API Client with PHP and PYTHONDocker API Client with PHP and PYTHON
Docker API Client with PHP and PYTHON
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!
 
Dockerizando aplicações em uma Fintech
Dockerizando aplicações em uma FintechDockerizando aplicações em uma Fintech
Dockerizando aplicações em uma Fintech
 
Heroku escalabilidade
Heroku escalabilidadeHeroku escalabilidade
Heroku escalabilidade
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLI
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShift
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon Framework
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
 
Advanced live testing em tempo real
Advanced live testing em tempo realAdvanced live testing em tempo real
Advanced live testing em tempo real
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-tool
 
Desenvolvendo com Angular CLI
Desenvolvendo com Angular CLIDesenvolvendo com Angular CLI
Desenvolvendo com Angular CLI
 
Vraptor no Heroku
Vraptor no HerokuVraptor no Heroku
Vraptor no Heroku
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Aula Ruby
Aula RubyAula Ruby
Aula Ruby
 
Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando Gearman
 
Compilando o Android 5 para o Nexus 5
Compilando o Android 5 para o Nexus 5Compilando o Android 5 para o Nexus 5
Compilando o Android 5 para o Nexus 5
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
 

Mais de Creditas

Hanami & Domain-Driven Design
Hanami & Domain-Driven DesignHanami & Domain-Driven Design
Hanami & Domain-Driven DesignCreditas
 
Application layer
Application layerApplication layer
Application layerCreditas
 
Hanami with a modern touch
Hanami with a modern touchHanami with a modern touch
Hanami with a modern touchCreditas
 
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!Creditas
 
How To Get Organized
How To Get OrganizedHow To Get Organized
How To Get OrganizedCreditas
 
O que o seu texto diz sobre você
O que o seu texto diz sobre vocêO que o seu texto diz sobre você
O que o seu texto diz sobre vocêCreditas
 
Modern sql
Modern sqlModern sql
Modern sqlCreditas
 
Positive reinforcement and statistics
Positive reinforcement and statisticsPositive reinforcement and statistics
Positive reinforcement and statisticsCreditas
 
Text mining Pre-processing
Text mining Pre-processingText mining Pre-processing
Text mining Pre-processingCreditas
 
Melanoma: how to detect skin cancer
Melanoma: how to detect skin cancerMelanoma: how to detect skin cancer
Melanoma: how to detect skin cancerCreditas
 
Rails Girls - RubyConfBR 2015
Rails Girls - RubyConfBR 2015Rails Girls - RubyConfBR 2015
Rails Girls - RubyConfBR 2015Creditas
 
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefe
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefeComo melhorar sua comunicação com sua equipe, sua mãe e seu chefe
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefeCreditas
 
O paradoxo da escolha
O paradoxo da escolhaO paradoxo da escolha
O paradoxo da escolhaCreditas
 
A arte de ser Mensch
A arte de ser MenschA arte de ser Mensch
A arte de ser MenschCreditas
 
An introduction to MySQL
An introduction to MySQLAn introduction to MySQL
An introduction to MySQLCreditas
 
GTD - Getting Things Done
GTD - Getting Things DoneGTD - Getting Things Done
GTD - Getting Things DoneCreditas
 
Pig - Analyzing data sets
Pig - Analyzing data setsPig - Analyzing data sets
Pig - Analyzing data setsCreditas
 
Learning how to learn
Learning how to learnLearning how to learn
Learning how to learnCreditas
 
OOCSS and SMACSS
OOCSS and SMACSSOOCSS and SMACSS
OOCSS and SMACSSCreditas
 

Mais de Creditas (20)

Hanami & Domain-Driven Design
Hanami & Domain-Driven DesignHanami & Domain-Driven Design
Hanami & Domain-Driven Design
 
Application layer
Application layerApplication layer
Application layer
 
Hanami with a modern touch
Hanami with a modern touchHanami with a modern touch
Hanami with a modern touch
 
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!
 
How To Get Organized
How To Get OrganizedHow To Get Organized
How To Get Organized
 
O que o seu texto diz sobre você
O que o seu texto diz sobre vocêO que o seu texto diz sobre você
O que o seu texto diz sobre você
 
Modern sql
Modern sqlModern sql
Modern sql
 
Positive reinforcement and statistics
Positive reinforcement and statisticsPositive reinforcement and statistics
Positive reinforcement and statistics
 
Text mining Pre-processing
Text mining Pre-processingText mining Pre-processing
Text mining Pre-processing
 
Melanoma: how to detect skin cancer
Melanoma: how to detect skin cancerMelanoma: how to detect skin cancer
Melanoma: how to detect skin cancer
 
Rails Girls - RubyConfBR 2015
Rails Girls - RubyConfBR 2015Rails Girls - RubyConfBR 2015
Rails Girls - RubyConfBR 2015
 
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefe
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefeComo melhorar sua comunicação com sua equipe, sua mãe e seu chefe
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefe
 
O paradoxo da escolha
O paradoxo da escolhaO paradoxo da escolha
O paradoxo da escolha
 
A arte de ser Mensch
A arte de ser MenschA arte de ser Mensch
A arte de ser Mensch
 
An introduction to MySQL
An introduction to MySQLAn introduction to MySQL
An introduction to MySQL
 
GTD - Getting Things Done
GTD - Getting Things DoneGTD - Getting Things Done
GTD - Getting Things Done
 
Pig - Analyzing data sets
Pig - Analyzing data setsPig - Analyzing data sets
Pig - Analyzing data sets
 
Neo4 j
Neo4 jNeo4 j
Neo4 j
 
Learning how to learn
Learning how to learnLearning how to learn
Learning how to learn
 
OOCSS and SMACSS
OOCSS and SMACSSOOCSS and SMACSS
OOCSS and SMACSS
 

Deploy Rails Heroku

  • 1. Deploy de um mini app Rails com heroku Bárbara Barbosa e Raphael Monteiro
  • 3. Crie a sua conta Acesse: https://signup.heroku.com/dc
  • 4. Instale o heroku toolbelt Acesse: https://devcenter.heroku. com/articles/getting-started-with-ruby#set-up
  • 5. Instale o heroku toolbelt Funcionalidades: ● Comandos do terminal ● Comandos do git ● Foreman
  • 6. Configure o heroku $ heroku login
  • 7. O projeto! $ git clone https://github.com/bahbbc/first_app $ cd first_app
  • 8. E o meu app? $ git init $ git add . $ git commit -m “lero lero do commit” $ git remote add origin <link_do_app_no_git> $ git push origin master Experimente depois o comando git add -i
  • 9. Heroku gems No Gemfile adicione: gem 'rails_12factor', group: :production E depois rode: $ bundle install
  • 11. Use o postgres Caso não tenha usado a opção --database=postgres na criação do app ● substitua gem ‘sqlite3’ por ‘pg’ no seu Gemfile ● corrija o seu database.yml (é necessário estar logado com um usuário no postgresql) ● não esqueça o bundle install!
  • 13. Use o postgres Caso não tenha o postgres siga esse tutorial: https://www.digitalocean. com/community/tutorials/how-to-install-and- use-postgresql-on-ubuntu-14-04
  • 14. Especifique a versão do ruby A versão do Gemfile deve ser igual a instalada - $ ruby -v
  • 15. Especifique a versão do ruby A versão 2.1.4 é a mais recente!
  • 16. Finalmente deploy! - $ heroku create - $ git push heroku master
  • 18. E os meus dados? A base de dados de produção ainda não foi gerada! - $ heroku run rake db:migrate Esse app não tem nada na base, então não precisamos desse comando
  • 19. Cadê meu app? - $ heroku ps:scale web=1 - $ heroku open - https://safe-atoll-5030.herokuapp.com/
  • 21. Personalize o nome - $ heroku apps:rename <new_name> - meu app: https://batata-dancante. herokuapp.com/
  • 22. Veja logs ● Logs: - $ heroku logs --tail
  • 23. Ainda tem mais... ● Declarar comandos para inicializar o app com o uso de um procfile (muito útil para apps Java, por exemplo)
  • 24. Ainda tem mais... ● Escalar máquinas: $ heroku ps:scale web=2 ● Cuidado! O heroku é grátis apenas para um dos planos (dynos) cointainers linux especificos para seu app
  • 25. Adicione serviços no app https://addons.heroku.com/ - $ heroku addons:add redistogo:nano Adicione redis, mongodb, new relic, mailers, processamento de imagens e doc, etc... Vários add-ons tem planos free!
  • 26. Para saber mais: ● https://devcenter.heroku. com/articles/getting-started-with-rails4 ● https://github.com/ddollar/foreman ● http://guides.rubyonrails. org/getting_started.html
  • 27. ● Startup - Mercado Financeiro ● Plataforma online ● Ruby on Rails / Git / NoSQL / Linux