Heroku (Leonardo Arthur e Nicácio Arruda)
Introdução
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]Instalação em Linux (Debian Base)
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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.
- 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
[editar | editar código-fonte]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