Co to jest Vagrant?

Vagrant to narzędzie do automatyzacji i zarządzania środowiskami zbudowanymi z wirtualnych maszyn. Ułatwia pracę deweloperom czy testerom oprogramowania, którzy uruchamiają wiele środowisk wirtualnych na swojej lokalnej maszynie. Głównym celem tego narzędzia celem jest uproszczenie wdrażania i testowania aplikacji.
Dzięki Vagrantowi możemy łatwo  pobierać gotowe obrazy z repozytorium i uruchamiać je za pomocą prostych poleceń.
Warto dodać, że Vagrant działa na systemie Windows, Mac i Linux. Potrafi korzystać z najpopularniejszych wirtualizatorów: Virtualbox, VMWare i Hyper-V. A także wspiera Dockera i AWS. Bardzo dobrze integruje się z narzędziami IaC, takimi jak Ansible, Chef, Puppet  czy Salt. 

Jak użyć Vagranta?

  1. Najpierw pobierz paczkę instalacyjną Vagranta ze strony www.vagrantup.com i zainstaluj z domyślnymi ustawieniami. Czasem po całym procesie instalacji przyda się restart systemu Windows.
  2. Teraz uruchom linie poleceń (CMD) i wpisz vargant version i jeśli będziesz mieć odpowiedź co do wersji to znaczy, że cała instalacja przebiegła pomyślnie i już możemy zacząć działać.
  3. Na swoim dysku lokalnym utwórz katalog, w którym chcesz mieć maszynę Vagranta, przejdź do tego katalogi i wpisz vagrant init ubuntu/trusty64 aby zainicjować nową wirtualną maszynę z systemem Ubuntu, w tym momencie nastąpi utworzenie pliku Vagrantfile.
  4. Teraz wpisz polecenie vagrant up aby utworzyć i uruchomić nową maszynę. Nastąpi pobranie odpowiedniego obrazu z repozytorium Vagranta. Potrwa to kilka chwil w zależności od prędkości połączenia z internetem.
  5. Aby się do niej podłączyć wpisz polecenie vagrant ssh. Aby wrócić do linii poleceń maszyny gospodarza wpisz tylko exit.

    Co ciekawe, możesz się też połączyć się uruchamiając Virtualboksa (który już działa we tle), klikają Pokaż/Show (użytkownik i hasło vagrant).

Warto dodać, że Vagrant domyślnie tworzy też udostępniony folder, którego zawartość jest widoczna pod maszyną wirtualną, jak i w systemie plików gospodarza. Aby skorzystać z udostępnionego folderu to wystarczy pod maszyna wirtualna przejść do katalogu /vagrant i dla testu utwórz tam plik. A teraz zobaczysz że tenże plik pojawił się w katalogu maszyny vagranta. 

Przydatne polecenia Vagranta

vargrat status aby zobaczyć stan maszyny
vagrant suspend aby uśpić maszynę 
vagrant halt aby wyłączyć maszynę
vagrant reload aby zrestartować maszynę (działa jak wydajnie polecenia halt a potem up)
vagrant destroy aby skasować maszynę 

Po skasowaniu maszyny (poleceniem vagrant destroy)  możemy ją od nowa stworzyć z obrazu wydając tylko polecenie vagrant up. Tym razem wstaję trochę szybciej bo obraz jest dostępny lokalnie i nie jest pobierany ponownie. Pamiętaj jednak, że to będzie całkowicie nową maszyna z obrazu więc nie będzie zawierać twoich danych z poprzedniej maszyny.