Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%)
|
Cześć,
Zwracam się z dwoma pytaniami do praktykantów używających w swoich projektach SVN (subversion). 1. jak kontrolujecie zmiany w bazie danych? Czy nadaje się do tego subversion? Np. dodawana jest kolumna, nowa baza danych itp...? 2. jak "comitujecie" poprawnie wykonane zadania na serwer? Tzn. programiści piszą kod, comitują go przez Subversion i dalej co? (załóżmy, że kod jest poprawny i gotowy do wgrania). Ściągacie to do siebie (UPDATE) i wgrywacie wszystkie pliki normalnie przez FTP? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 16 Dołączył: 24.07.2009 Skąd: Gdańsk Ostrzeżenie: (0%)
|
Witam,
Jeśli chodzi o pierwsze pytanie, to kontrola zmian w bazie danych może być osiągnięta przez jakiś mechanizm migracji można to sobie zobaczyć np. w doctrine http://www.doctrine-project.org/projects/o...l/migrations/en w takim wypadku klasy migracji mogą być przetrzymywane w repozytorium. Jednak to rozwiązanie nie gwarantuje tego że bazy danych są takie same – np. inne dane w bazie produkcyjnej Jeśli chodzi o drugie pytanie to ja osobiście do deploy-u na serwer produkcyjny używam Capistrano (projekt w ruby) http://github.com/capistrano/capistrano/wi...umentation-v2.x przystosowanego do deploy-u aplikacji w PHP (przykład: http://www.jonmaddox.com/2006/08/16/automa...ith-capistrano/ ) . Po skończniu dodawania/poprawiania jakiejś funkcjonalności programista commituje kod. Sewer integracji sprawdza czy w repozytorium na danej gałęzi są jakieś zmiany jeśli są to zaciąga nowy kod, wykonuje potrzebne kroki konfiguracyjne i odpala wszystkie testy w projekcie. Jeśli któryś z testów nie przejdzie programista i „Project Manager” dostają maila, programista musi poprawić kod tak aby testy przeszły. Gdy już przejdą programista tworzy taga i zgłasza to do PM. Aktualizacja nowej wersji następuje poprzez capistrano (można sobie skonfigurować czy przez update czy export, ja prefereuje export) i to capistrano dba o to iż w razie jakiś niepowodzeń w czasie deploy-u (jakieś błędy przy migracjach lub skrypty które wykonały się z błędem) przywracana jest poprzednia wersja. Pozdrawiam l3l0 |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 00:36 |