Normalmente, ao usar o capistrano, excluirei manualmente as versões antigas de um aplicativo implantado. Eu entendo que você pode executar, cap deploy:cleanup
mas isso ainda deixa 5 versões. É este o seu propósito? Existe outra maneira de limpar as versões antigas para apenas 1 implantação anterior?
capistrano
Josh
fonte
fonte
Respostas:
Você pode usar a
:keep_releases
variável para substituir o padrão de 5. Verifique isso .fonte
after
gancho. Chamar diretamente mostra os erros ... Percebi isso quando estava começando a ficar sem espaço em disco.Você pode fazer isso automaticamente configurando isso em seu deploy.rb
No passado (não sei exatamente qual versão), esse retorno de chamada era o padrão, mas mais tarde o desenvolvedor decidiu deixar o usuário decidir. No capistrano 3, ele foi adicionado novamente ao fluxo de implementação padrão.
fonte
deploy:cleanup
são parte do fluxo de implantação .Se você deseja excluir todos os releases, exceto os três últimos, por exemplo, você pode executar:
fonte
optionParser::InvalidOption: invalid option: s
Eu tive um problema parecido. Eu queria manter os 5 lançamentos para implantações normais, mas precisava que determinadas situações pudessem remover todos os lançamentos anteriores.
Consegui fazer isso com uma tarefa personalizada. Crie um arquivo
lib/capistrano/tasks/cleanup.rake
e adicione o seguinte código.Para executar use
bundle exec cap staging cleanup_all
oucap staging cleanup_all
fonte