Citat:
Originalno napisao bluesman
Pa nije baš tako jednostavno. SVN je na jednom serveru, a document root na drugom pa ne može neki jednostavna script tipa "export u /home/site/html/".
Drugo, kada se commituje SVN, nas nekoliko radi na istom kodu, i onda umesto da uploadujemo na live site, prvo uploadujemo na test site, pa tek posle testiranja radimo upload na live. Moja ideja je da imam nešto što može recimo da odradi:
Sve novije od revizije 834 i novije uploaduj na FTP username - password - domain ...
Verovatno mnogo tražim, ali sa tim bi ovo bio kick-ass tool.
|
Mnogo ili ne, proof-of-concept je
ovde. Nije PHP, ali verujem da će biti jasno. Bilo bi još i jednostavnije ako prethodno uradiš svn export (pozivom iz skripte).
Što se tiče FTP-a, to možda i nije najbolja strategija za deployment (naravno, zavisi i od toga šta je na raspolaganju). Čini mi se da bi se tu već pominjani Capistrano bolje pokazao (ali traži shell i ssh). Npr, možeš da uradiš i rollback, ako nešto pođe naopačke. Rešenje je jednostavno, imaš releases direktorij u kome se nalaze nekoliko poslednjih verzija aplikacije, dok je DocumentsRoot simlinkovan na poslednji release. Ako se zezneš, ima komanda koja remote obriše stari simlink i napravi novi.
Usput, još jedna dobro rešenje koje se često koristi kod deploymenta sa Capistranom - napraviš shared folder, pa pri novom releasu simlinkuješ šta treba i ne brineš o tome da će nova verzija aplikacije da obriše nešto što je potrebno/zajedničko za sve verzije.