Czy ktoś z zacnego grona wymiataczy w Capistrano podpowie mi, jak podpiąć taska, który zrobi zmiany w kodzie lokalnym, tj. przed spakowaniem i rozesłaniem na serwery? Potrzebuję yuicompressorem pociągnąć wszytkie skrypty JS i CSS, tylko nie chcę robić tego na każdym z serwerów z osobna, bo to przecież bez sensu. Coś nie mogę się doszukać nazw hooków, pod które mógłbym się ewentualnie podpiąć, a także zmiennej ze ścieżką katalogu, gdzie leżą lokalne pliki po pobraniu z repozytorium.
Google podpowiedziało zaledwie kilka wartych uwagi stron, ale ograniczały się one z zasady do utworzenia własnej strategii kopiowania. Nie da się inaczej?
[/quote]
Dzięki, ale to już wiem Z tego co widzę, “deploy:update_code” zachowuje się tak:
“before” - kod nie został pobrany jeszcze z repo
“after” - już po ptakach, bo task skompresował i wrzucił kod na serwer (tak wynika z logów capistrano)
I dalej nie mam możliwości wpięcia się w ten proces, aby pozmieniać coś w kodzie przed jego kompresją… No nic, chyba faktycznie skończy się na własnej strategii, jakoś nie widzę innego wyjścia.
Się nie da. Capistrano (domyślnie) ciągnie kod z repozytorium na serwer. Nie “pakuje” i nie “wysyła” - to proces zdecentralizowany. Capistrano uruchamiasz na jednej maszynie (na przykład swojej lokalnej), ale wszystkie zadania wywoływane są na maszynach zdalnych według przydzielonych ról.
Generalnie da się, Capistrano posiada proste wrappery do eftepowego get i put.
(przynajmniej kiedyś były i działały, choć bez śladu w dokumentacji – mogły wylecieć)
[quote=Tomash]Generalnie da się, Capistrano posiada proste wrappery do eftepowego get i put.
(przynajmniej kiedyś były i działały, choć bez śladu w dokumentacji – mogły wylecieć)
Inną kwestią jest czy należy z tego korzystać ;)[/quote]
Koszerność: 0 na 10.