Jaki jest cel i funkcja „ról” w recepturze Capistrano? Kiedy patrzę na przykładowe przepisy, często widzę coś takiego:
role :app, 'somedomain.com'
role :web, 'somedomain.com'
role :db, 'somedomain.com', :primary => true
Wygląda więc na to, że rola jest w zasadzie serwerem, na którym Capistrano wykonuje polecenia. Jeśli tak jest, to dlaczego miałby nazywać się „rolą”, a nie „hostem” lub „serwerem”?
W powyższym przykładzie, jaka jest różnica między rolami :app
i :web
?
Co daje ta :primary => true
opcja?
źródło
:only => { :primary => true }
myślę, że twoja linia powinna być ... lubrole
polecenie w pytaniu powinno być używane:master => true
zamiast tego. Uważam, że te atrybuty są całkowicie dowolne.Opcja „: primary => true” wskazuje, że serwer bazy danych jest serwerem podstawowym. Jest to ważne, na przykład, gdy chcesz użyć replikacji z MySQL. Umożliwia utworzenie innego lustrzanego serwera bazy danych, którego można używać do automatycznego przełączania awaryjnego. Służy również do decydowania, na którym serwerze bazy danych należy uruchomić migracje modelu (ponieważ zmiany te zostaną zreplikowane na serwery awaryjne). Ten link wyjaśnia to nieco więcej: https://github.com/capistrano/capistrano/wiki/2.x-from-the-beginning#back-to-configuration
źródło