Muszę wdrożyć mój kod php/html/css/etc na wielu serwerach i patrzę na moje opcje dotyczące oprogramowania, które pozwala na łatwe i bezpieczne wdrożenie na wielu serwerach.
Pomaga również, jeśli może być powiązany z moim SVN.
Jakieś sugestie?
Capistrano jest do tego całkiem przydatny. Jest kilka osób używających go (1, 2, 3) do implementacji kodu PHP, o czym świadczy wykonanie szybkiego wyszukiwania.
Konfiguracja uwierzytelniania kluczem publicznym bez hasła za pomocą ssh pozwoliłaby na bardzo szybkie skanowanie plików na dowolnym serwerze (lub zautomatyzowane przez skrypt powłoki).
Oto prosty tutorial: http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html
Jeśli pracujesz na Redhacie lub Debianie, zastanów się nad opakowaniem swojego kodu do RPM lub Debs. Następnie zbuduj repozytorium yum lub dpkg i umieść tam swoje pakiety. Możesz wtedy użyć systemu zarządzania pakietami do aktualizacji/zwrotów, itp. Możesz nawet użyć marionetkę do zautomatyzowania procesu.
Jeśli chcesz powiązać go z subwersją, możesz utworzyć gałąź dla każdej nowej wersji. Użyj skryptów commit do budowania RPM-ów, gdy nowa gałąź pojawi się w katalogu.
Poproszę Capistrano. Jest niesamowicie mocny i elastyczny. Nasz obecny projekt wykorzystuje Capistrano do wdrażania na różnych serwerach, jak również na wielu serwerach. Przekazujemy dwa argumenty komendzie Capistrano:
kończy się na tym:
cap -f deploy.rb live deploy
lub
cap -f deploy.rb dev deploy
Oczywiście domyślny przypadek użycia - rozmieszczenie na wielu maszynach jednocześnie - jest unikiem z Capistrano i nie musisz mieć Capistrano na maszynach, które rozmieszczasz. W sumie, smaczna technologia.
Możesz również użyć kwateeSDCM, który jest bezpłatny i pozwala na zdalną instalację poprzez ssh. Umożliwia on również zarządzanie konfiguracją specyficzną dla danego serwera z centralnej lokalizacji i sprawia, że aktualizacje nie wydają się być konieczne.