que - Capistrano-limpar versões antigas



como fazer limpeza de arquivos no notebook (3)

Eu tive um problema parecido. Eu queria manter as 5 versões para implantações normais, mas necessárias para determinadas situações para poder remover todas as versões anteriores.

Consegui fazer isso com uma tarefa personalizada. Crie um arquivo lib/capistrano/tasks/cleanup.rake e adicione o seguinte código.

desc "Remove all but the last release"
task :cleanup_all do
    set :keep_releases, 1
    invoke "deploy:cleanup"
end

Para executar use o bundle exec cap staging cleanup_all ou cap staging cleanup_all

https://ffff65535.com

Normalmente, quando uso o capistrano, irei e excluo manualmente as versões antigas de um aplicativo implantado. Eu entendo que você pode executar o cap deploy:cleanup mas que ainda deixa 5 lançamentos. É este o propósito pretendido? Existe outra maneira de limpar versões antigas para apenas uma implantação anterior?


Se você quiser excluir todos os lançamentos, exceto os últimos 3, por exemplo, você pode executar:

cap deploy:cleanup -s keep_releases=3

Você poderia fazer isso automaticamente configurando isso no seu deploy.rb

set :keep_releases, 1
after "deploy:update", "deploy:cleanup" 

No passado (eu não sei exatamente qual versão) este callback era o padrão, mas depois o desenvolvedor decidiu deixar para o usuário decidir. No capistrano 3 foi adicionado de volta ao fluxo de implementação padrão.