baseado em tarefas • Pode seguir o fluxo ou executar tarefas específicas (é aqui que entra a parte de automação do servidor) • Você conta com safe deploys 7
servidor até que o build atual seja concluído sem erros • Você pode manter várias versões no servidor e isso é configurável no seu deploy.rb • Possui deploy locks para a sua proteção 9
build do projeto (tudo que está no bloco deploy) • Move o diretório de build para releases • Cria um link simbólico para current • Executa o bloco "to :launch" 20
link para o release path será apagado (mas não a pasta da versão dentro de releases) • O bloco "to :clean" será executado caso tenho sido definido • Importante apagar ou mover a versão quebrada que ficou no releases (você não vai querer ter no seu histórico de versões uma que pode não funcionar) 21
deploy possui acesso de leitura e escrita nos diretórios • Se precisar alterar a estrutura do server, melhor apagar e começar do zero novamente • Não esqueça de adicionar a chave ssh do seu repositório no servidor antes de rodar mina deploy 22
de deploy.rb (o nome não importa) • Use o parâmetro -f para indicar um arquivo com nome diferente de deploy.rb ou em localização diferente • Use os parâmetros -v e -t para ter mais detalhes da execução remota 23