Heroku (Leonardo Arthur e Nicácio Arruda)


Introdução

editar

O heroku é uma ferramenta faz deploy de projetos. Deploy de um software são todas as atividades que tornam o software disponível para uso. Inicialmente, o heroku suportava apenas a linguagem Ruby, mas agora suporta Java, Node.js, Scala, Clojure, PHP, Go e Python. Pode-se dizer que o Heroku é poliglota (fala muitas línguas) por ele ter a capacidade de executar diversas aplicações de forma semelhantes e em várias linguagens diferentes.
O Heroku possui diferentes tipos de conta, a conta free e contas pagas. A conta free possui o limite de realizar 5 deploys. Outra limitação da conta free é que o projeto se torna inativo após 30 minutos sem acesso/uso, porém, se houver uma nova requisição (acesso ao site) ele volta a funcionar. Para aumentar a quantidade máxima de deploys na conta livre, é possível associar um número de cartão de crédito valido. Existe a conta Hobby que não entra em soneca e custa 8 dólares por mês, também existem as contas standard e performance que podem varias de 25 a 500 dólares. Mais informações sobre o preço podem ser encontrados no site do Heroku indicado a sequir. Heroku's pricing

Exemplos de ferramentas de Deploy

editar

A seguir estão listados exemplos de ferramentas que realizam deploy além do Heroku.

  • Travis CI
  • XL Deploy
  • Rapid Deploy
  • Codeship
  • Continuum
  • Capistrano
  • Jenkins
  • ElectricFlow
  • Octopus Deploy

entre muitas outras ferramentas.

Instalação do Heroku

editar

Instalação em Linux (Debian Base)

editar

Para começar a utilizar o heroku, inicialmente é necessário instalar o heroku Comand Line Interface (CLI), através desta, é possível interagir via terminal com os comandos do heroku. Para instalar, abra o terminal e digite o comando:

* sudo apt-get install software-properties-common   
* sudo add-apt-repository "deb https://cli-assets.heroku.com/branches/stable/apt ./"
* curl -L https://cli-assets.heroku.com/apt/release.key | sudo apt-key add -
* sudo apt-get update
* sudo apt-get install heroku

Para saber se o heroku foi instalado corretamente, digite o comando:

* heroku --version

Você deve visualizar algo como heroku-cli/5.6.0-010a227 (darwin-amd64) go1.7.4. Isso pode mudar um pouco dependendo a versão em que se encontra o heroku.

Instalação em Windows

editar

Para instalar o Heroku no windows é necessário saber se o seu sistema é 32 bits ou 64 bits.

Em caso de um sistema de 32 bits, utilize este link copiado do site do heroku: https://cli-assets.heroku.com/branches/stable/heroku-windows-386.exe


Em caso de um sistema de 64 bits, utilize este link copiado do site do heroku: https://cli-assets.heroku.com/branches/stable/heroku-windows-amd64.exe

Instalação em MacOSX

editar

Para instalar o Heroku no MACOSX é necessário ter o HomeBrew instalado. Após instalar o HomeBrew digite o comando abaixo no terminal:

brew install heroku   

Basta esperar o término da instalação.

Outra maneira de instalar é procurar pelo instalador OS X installer, compatível com a versão 10.7+.

link do instalador retirado do site do heroku: https://cli-assets.heroku.com/branches/stable/heroku-osx.pkg

Realizar deploy de um software

editar

Independente da linguagem do software os passos para realizar deploy são basicamente os mesmos. Abaixo constam os links para realizar deploy em cada linguagem suportada pelo Heroku.

Realizar deploy de um projeto em Rails

editar

Para iniciar as atividades de deploy é necessário:

  • Ter uma conta do heroku
  • Ruby instalado localmente na versão 2.2.5
  • Bundler instalado localmente (use o comando "gem install bundler" )

Abra o terminal e digite o comando

heroku login  

Escreva o email e senha válido da conta heroku, os dados informados devem ser os mesmos da criação da conta no site do heroku.

OBS: Em caso de ter um firewall que requisite proxy para acessar um serviço HTTP/HTTPS externo é necessário setar as variáveis de ambiente HTTP_PROXY , HTTPS_PROXY.   
Mais informações podem ser encontradas no link: https://devcenter.heroku.com/articles/using-the-cli#using-an-http-proxy


Prepare o aplicativo

git clone https://github.com/heroku/ruby-getting-started.git   (OBS: pode ser em qualquer projeto Rails, apenas um exemplo) 
cd ruby-getting-started 

Em caso de um aplicativo com banco de dados diferente do Postgre é necessário fazer algumas alterações, já que o Heroku trabalha por padrão com o Postgre.

O link a seguir explica as adaptações a serem feitas com um banco sqlite: https://devcenter.heroku.com/articles/sqlite3

Após ter adaptado o banco de dados, siga os seguintes passos:

heroku create <nome do projeto>
git push heroku <branch desejada>

E a aplicação já está no ar, basta agora digita os comandos

heroku open 
heroku run rake db:migrate 

Truque: Se você já excedeu seu limite de 5 deploys, é possível utilizar o mesmo deploy para uma aplicação diferente. Basta adicionar o repositório remoto e sobrescrever os arquivos que lá estavam.

Exemplo:

heroku git:remote -a aqueous-eyrie-42273