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
editarA 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)
editarPara 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
editarIndependente 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.
- PHP : https://devcenter.heroku.com/articles/getting-started-with-php#introduction
- Go : https://devcenter.heroku.com/articles/getting-started-with-ruby#introduction
- Ruby : https://devcenter.heroku.com/articles/getting-started-with-ruby#introduction
- Java : https://devcenter.heroku.com/articles/getting-started-with-java#introduction
- Node.js : https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction
- Python : https://devcenter.heroku.com/articles/getting-started-with-python#introduction
- Clojure : https://devcenter.heroku.com/articles/getting-started-with-clojure#introduction
- Scala : https://devcenter.heroku.com/articles/getting-started-with-scala#introduction
Realizar deploy de um projeto em Rails
editarPara 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