Nesse tutorial irei abordar a realização de deploy automatizado de uma aplicação Rails (3.0.X) utilizando o Github como repositório. A idéia é utilizar o capistrano para automatizar (e organizar) as tarefas de deployment. Para isso, irei criar um usuário no servidor que utilizará minha chave privada (cadastrada no Github) para fazer o deployment da aplicação.
Configurando o servidor
No servidor, crie um usuário que será utilizado para realizar o deploy. Eu utilizei uma senha gerada aleatóriamente (um MD5 de um arquivo, por exemplo). Em seguida, adicionei minha chave privada (a que eu uso para acessar meus repositórios no Github) ao arquivo authorized_keys do usuário de deploy.
Na máquina local
1 2 | |
No servidor
1 2 3 4 5 6 7 | |
Configurando a aplicação
Adicione a gem capistrano no seu Gemfile
1
| |
Em seguida, no diretório da aplicação
1 2 3 | |
Isso vai criar o arquivo config/deploy.rb onde serão armazenadas as configurações de deploy, bem como as tasks.
Meu arquivo ficou assim:
Pra finalizar, você precisa criar os diretórios no servidor. Para isso simplesmente execute (no diretorio da aplicação) cap deploy:setup.
Realizando o Deploy
Depois disso, você poderá realizar seu deploy automático executando o comando: cap deploy.