Zwykle podczas korzystania z capistrano idę i ręcznie usuwam stare wersje z wdrożonej aplikacji. Rozumiem, że możesz uruchomić, cap deploy:cleanup
ale nadal pozostawia 5 wersji. Czy to jest zamierzony cel? Czy istnieje inny sposób na uporządkowanie starych wersji do zaledwie 1 poprzedniego wdrożenia?
capistrano
Josh
źródło
źródło
Odpowiedzi:
Możesz użyć
:keep_releases
zmiennej, aby zastąpić domyślną wartość 5. Sprawdź to .źródło
after
podpięcie zadanie po cichu „powiedzie się” . Wywołanie go bezpośrednio pokazuje błędy ... Zrozumiałem to, gdy zaczynało brakować miejsca na dysku.Możesz to zrobić automatycznie, ustawiając to w pliku deploy.rb
W przeszłości (nie wiem dokładnie, która wersja) to wywołanie zwrotne było domyślne, ale później programista postanowił pozostawić decyzję użytkownikowi. W Capistrano 3 został dodany z powrotem do domyślnego przepływu wdrażania.
źródło
deploy:cleanup
w ramach przepływu wdrażania .Jeśli chcesz usunąć wszystkie wydania oprócz ostatnich 3, na przykład, możesz uruchomić:
źródło
optionParser::InvalidOption: invalid option: s
Miałem podobny problem. Chciałem zachować 5 wersji dla normalnych wdrożeń, ale w pewnych sytuacjach potrzebowałem, aby móc usunąć wszystkie poprzednie wersje.
Udało mi się to zrobić za pomocą niestandardowego zadania. Utwórz plik
lib/capistrano/tasks/cleanup.rake
i dodaj następujący kod.Aby uruchomić użyj
bundle exec cap staging cleanup_all
lubcap staging cleanup_all
źródło