3. Dlaczego wirtualizacja?
• Spójne środowiska przy wielu projektach
• Łatwość wdrażania nowych programistów w
projekt
• Dev env = Prod env
4. Vagrant
Zautomatyzowana konfiguracja wielu środowisk deweloperskich.
• Instalacja niezbędnego oprogramowania podczas uruchamiania maszyny
• Konfiguracja niezbędnych elementów środowiska deweloperskiego (m.in. baza
danych, cache, xdebug, virtual host)
• Synchronizacja folderów
• Dostęp przez ssh
5. Komendy
• vagrant box add – dodanie nowego boxa z wybranym systemem
operacyjnym
• vagrant init – inicjalizacja vagranta w wybranym katalogu
• vagrant up – start maszyny wirtualnej
• vagrant provision – pliki inicjalizujące maszynę przy starcie
• vagrant ssh – połączenie przez ssh
• vagrant halt – wstrzymanie maszyny
• vagrant destroy – usunięcie maszyny
6. VagrantFile
• Wybór boxa
• Synchronizowanie folderów
• Konfiguracja wirtualnej
maszyny (ram, ilość rdzeni)
• Konfiguracja sieci
• Forwardowanie portów
• Dostęp przez ssh
• Konfiguracja plików
„rozruchowych”
• …
7. Vagrant, Git, App
• Aplikacja i VagrantFile w jednym
repozytorium GIT
• Po sklonowaniu repozytorium i dodaniu
wpisu w hosts aplikacja uruchamia się
lokalnie
8. Proces
• Instalacja Virtual Boxa lub VMWare
• Instalacja vagranta
• Git clone na repozytorium
• Uruchomienie komendy vagrant up w katalogu root aplikacji
9. Co zyskujemy?
• Bezpieczniejszy development dzięki identycznej konfiguracji maszyn deweloperskich,
testowych, stagingowych i produkcyjnych.
• Szybkie wdrażania nowych członków zespołu w projekt
• Wersjonowanie zmian nie tylko w aplikacji, ale i na maszynie wirtualnej
• Możliwość tworzenia re-użytecznych pluginów wykorzystywanych przy innych
projektach
10. Przydatne linki
• http://docs.vagrantup.com/ - dokumentacja vagranta
• http://www.vagrantbox.es/ - współdzielenie boxów
• http://puppetlabs.com – paczki z gotowymi „receptami” na konfiguracje VM