3. Co zawiera
wszystkie zależności wymagane dla projektów
zainstalowane i skonfigurowane projekty (każdy na oddzielnym
virtualenvie)
dodatkowe narzędzia wspomagające pracę (virtualenvwrapper,
pluginy hg ...)
8. VagrantNarzędzie do tworzenia środowiska developerskiego. Wirtualne
środowisko jest budowane poprzez skopiowanie obrazu bazowego oraz
jego skonfigurowaniu.
Wrapper dla oprogramowania wirtualizującego tj. VirtualBox,
VMware.
11. Workflow - budowanie
środowiska
1. Instalacja VirtualBoxa i Vagranta
2. Dodanie bazowego obrazu:
3. Pobranie i ewentualna edycja konfiguracji
4. vagrant up- tutaj rozpoczyna się budowanie naszego
środowiska pracy
vagrantboxaddprecise32http://files.vagrantup.com/precise32.box
12. Workflow - praca
1. vagrant up- jeżeli wcześniej obraz był już zbudowany, tutaj
jest tylko uruchamiany (headless)
2. Podmontowanie katalogu ze źródłami projektu (nfs, sshfs)
3. vagrant ssh
13. Dlaczego montujemy z guesta na hosta?
[+] Szybkość działania aplikacji
[-] Szybkość wyszukiwania tekstu po całym projekcie
14. Workflow - nowy projekt
1. odkomentowanie nazwy projektu z Vagrantfile
2. vagrant provision
PROJECTS_WHITELIST=[
'ikd2',
'igooper2',
#'junior',
#'kids',
#'ifc',
#'vw_ufo',
#'cf_bo',
#'cf_fo',
#'bo_leasing',
#'vwl_fo_client',
#'fo_leasing'
]
15. autoryzacja CVS - kopiowanie pliku .cvspass poprzez provisionera
“file”
autoryzacja HG - forwardowanie agenta ssh
zmiana autoryzowanego klucza ssh na devboksie
config.ssh.private_key_path=[
PRIVATE_SSH_KEY_PATH,
File.expand_path('~/.vagrant.d/insecure_private_key'),
]
data=File.read(PUBLIC_SSH_KEY_PATH)
config.vm.provision"shell"do|s|
s.inline="cat<<'EOF'>/home/vagrant/.ssh/authorized_keysn#{data}nEOF"
s.privileged=false
end
17. PuppetPuppet jest tzw. menadżerem konfiguracji serwerów. Konfiguruje
maszynę docelową na podstawie manifestów.
Manifesty przedstawiają stan końcowy w jakim mają znaleźć się dane
zasoby.
Instrukcje puppetowe są idempotentne - przy kolejnych
konfiguracjach maszyny, Puppet wprowadzi zmiany w systemie tylko
tam, gdzie stan się różni od stanu w konfiguracji.
18. Dlaczego Puppet?
wspierany przez Vagranta (wybór pomiędzy puppet, chef, shell,
ansible)
dobra dokumentacja i duża społeczność
możliwość konfiguracji master - agent (deployment) oraz apply
(development)
20. Puppet - co w nim robimy?
instalowanie pakietów (apt-get, pip) oraz ich konfiguracja (np. HG,
apache, reviewboard ...)
pobieranie wymaganych plików binarnych dla projektów
instalacja i konfiguracja projektów ("ręcznie" i buildout)
22. Co się dzieje po vagrant up?
1. Vagrant
uruchomienie bazowej maszyny wirtualnej z odpowiednią
konfiguracją
podmiana publicznego klucza ssh na maszynie
skopiowanie .cvspass
uruchomienie puppet agenta na maszynie wirtualnej
2. Puppet
instalacja wymaganych i przydatnych paktietów oraz ich
konfiguracja
pobranie zależności binarnych dla projektów
budowanie i konfiguracja projektów
23. Devbox - zalety
oszczędność czasu przy budowaniu projektów (nowy pracownik,
pad dysku, reinstalacja systemu)
brak błędów po stronie użytkownika przy budowaniu projektu
chciałbym używać systemu X, ale projekt na nim nie działa
łatwa aktualizacja o nowe komponenty (projekty, pakiety, skrypty)