Jestem świadomy Capistrano, ale jest on dla mnie zbyt ciężki. Osobiście skonfigurowałem dwa repozytoria Mercurial, jeden na serwerze produkcyjnym, a drugi na moim lokalnym komputerze dev. Regularnie, gdy nowa funkcja jest gotowa, przesyłam zmiany z repozytorium na moim komputerze lokalnym do repozytorium na serwerze, a następnie aktualizuję na serwerze. Jest to dość prosty i szybki sposób synchronizacji plików na kilku komputerach, ale nie pomaga w aktualizacji bazy danych.Jak aktualizujesz swoją aplikację internetową na serwerze?
Jakie jest Twoje rozwiązanie problemu?
Robię to samo, ale ostatnio dało mi to do myślenia, że to naprawdę nie jest atomowe. Nie jest optymalna dla witryny używanej stale (ludzie mogą uzyskać do niej dostęp w złym momencie, gdy nie wszystkie pliki zostały już zsynchronizowane). – Gilles
Dodam, że bardziej optymalnym sposobem na zrobienie tego jest rsync do folderu A, podczas gdy folder B zawiera twoją stronę na żywo, a następnie wykonaj zamianę formularza od A do B przez nadpisanie dowiązania symbolicznego, które wskazuje bieżącą wersję na żywo. A następnym razem, rsync do B. – Gilles