Chcę, żeby capistrano wywoływał prowizję z --trace, więc mogę się domyślić, dlaczego to się nie udaje. Jak mam to zrobic? set :rake 'rake --trace'
nie działa.Jak mogę uruchomić prowizję z --trace wewnątrz capistrano?
Odpowiedz
Najlepszym sposobem znalazłem to:
set :rake, "#{rake} --trace"
W ten sposób nie zastąpisz zmiennej rake.
Na przykład, jeśli używasz Bundler jest ustawiony wcześniej do:
"bundle exec rake"
i po do:
"bundle exec rake --trace"
Tak! To działa! –
Szanse są niestandardowe zadania nie są przy użyciu rake
zmienne, lecz ciężko kodowania grabie, oto przykład:
run("rake sass:compile")
To jest zakodowane, a nie dbać o swoim otoczeniu set :rake, 'rake --trace'
, oto właściwy sposób:
run("#{fetch(:rake)} sass:compile")
Albo skrótem:
run("#{rake} sass:compile")
Widać to w praktyce w kodzie źródłowym Capistrano, w jednym miejscu, że domyślne recepty faktycznie powołać rake
, w zadaniu migracje: https://github.com/capistrano/capistrano/blob/master/lib/capistrano/recipes/deploy.rb#L387
Dziwne, migracje to miejsce, w którym moje wdrożenie się nie udawało i chcieliśmy włączyć - trace, więc domyślam się, że powinno zadziałać ... –
Kiedy mówisz "nie działa", co dzieje się? –