Paweł Koralewski

Paweł Koralewski architekt aplikacji,
team leader

Temat: [sf 1.4] automatyczny upgrade projektu

Sytuacja częsta imo - projekt jest już na serwerze klienta. Moduł aktualizacyjny stwierdził, że zrobiłem poprawki i trzeba je pobrać i zainstalować. Poprawki mogą obejmować dodawanie/usuwanie/nadpisywanie plików/katalogów oraz modyfikację struktury bazy.

Czy jest jakiś plugin, który tę funkcjonalność udostępnia? Jeśli nie, to jak sobie We radzicie z tym zagadnieniem? Przyjmuję, że zapisywanie nowych plików może być wykonywane przez serwer www bezpośrednio (gdy są uprawnienia) albo przez FTPa (gdy jest dostępne konto FTPowe).
Dawid Rokita

Dawid Rokita CTO picAds.pl

Temat: [sf 1.4] automatyczny upgrade projektu

Kiedyś widziałem na stronie symfony plugin, który na podstawie schematu i bazy generuje SQL'a (tylko pod mySql na tamtą chwilę), który synchronizuje strukturę.

Ja robię to SVN'em + skrypt shellowy. A w aplikacji mam katalog setup gdzie mam pliki 123.sql gdzie 123 to numer rewizji od której obowiązują te zmiany w strukturze.

A sam skrypt robi svn up i dla każego pliku z setup <= numer podanej rewizji robi: mysql -D baza < 123.sql

Dzięki temu można sobie szybko "instalować" soft w odpowiedniej wersji. Niestety jeszcze nie opracowałem techniki na downgrade :-)Dawid Rokita edytował(a) ten post dnia 13.06.11 o godzinie 21:27
Jakub Zalas

Jakub Zalas Software Engineer,
Symfony Core
Contributor

Temat: [sf 1.4] automatyczny upgrade projektu

Jeśli chodzi o migracje bazy danych, to zarówno Doctrine jak i Propel mają to wbudowane. Doctrine prawie od zawsze, a propel w nowszych wersjach. Do starszych wersji Propela są odpowiednie pluginy.

Doctrine potrafi też generować migracje (dla struktury, nie danych). Oczywiście możemy je też pisać "ręcznie".

Zaletą migracji jest automatyzacja. Nie martwimy się, którą wersję musimy wrzucić. Po prostu uruchamiamy odpowiedni task, który uruchamia wszystkie zaległe migracje.

Do aktualizacji kodu polecam capifony.Jakub Zalas edytował(a) ten post dnia 14.06.11 o godzinie 09:55
Radosław Zatoka

Radosław Zatoka CTO / Symfony 2
developer

Temat: [sf 1.4] automatyczny upgrade projektu

Dla inspiracji:
http://www.slideshare.net/shahar/best-practices-inphpa...

W skrócie prezentacja do automatycznych wrzutek wymienia:
rsync, svn, pear/phing albo wlaśnie capistrano.

Ja używam tam gdzie się da svn + skrypty,
bo jest proste, a wygodniejsze niż ftp/rsync.
Reszta sposobów jest bardziej skomplikowana i sądzę, że opłaca się pisać taki deployment tylko, gdy projekt jest bardzo często aktualizowany.

Inne prezentacje:
http://www.slideshare.net/search/slideshow?q=php+deplo...

Następna dyskusja:

upgrade z 1.0 do 1.2 - co b...




Wyślij zaproszenie do