Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPers 6.02.2014 Jeszcze Sprytniejsze Środowisk...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Marcin Dryka
February 06, 2014
Business
1
270
PHPers 6.02.2014 Jeszcze Sprytniejsze Środowisko Deweloperskie
czyli: DLACZEGO NIE POWINIENEM TRACIĆ CZASU NA ADMINISTRACJĘ Localhostem?
Marcin Dryka
February 06, 2014
Tweet
Share
More Decks by Marcin Dryka
See All by Marcin Dryka
Jak odnaleźć się w zespole projektowym
drymek
0
130
Git
drymek
1
170
Other Decks in Business
See All in Business
AI浅慮の時代における「考える」と「視点」、そして「創造性」
masayamoriofficial
1
2k
BlueWX_Introduction
amo0502
0
500
(4枚)PDCAサイクルとOODAループの違いを徹底解説
nyattx
PRO
0
150
サステナビリティレポート2025
hamayacorp
0
210
未完成を最強の「通貨」に変える - civicship
hopin
0
190
ARI会社説明
arisaiyou
1
22k
イークラウド会社紹介 ~挑戦で、つながる社会へ~
ecrowd
1
4.8k
giftee_Company introduction Febrary 2026
recruit_giftee
1
620
会社紹介資料202601.pdf
gmofh_hr_team
0
1.7k
2026年3月7日(土)放射性金属がやってくるか 廃炉原発等のクリアランスについて
atsukomasano2026
0
270
Eco-Pork Impact Report 2026.02.09 EN
ecopork
0
290
フルカイテン株式会社 採用資料
fullkaiten
0
81k
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
140
How GitHub (no longer) Works
holman
316
140k
Typedesign – Prime Four
hannesfritz
42
3k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Building Adaptive Systems
keathley
44
2.9k
GitHub's CSS Performance
jonrohan
1032
470k
Un-Boring Meetings
codingconduct
0
200
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
740
Transcript
JESZCZE SPRYTNIEJSZE ŚRODOWISKO DEWELOPERSKIE CZYLI: DLACZEGO NIE POWINIENEM TRACIĆ CZASU
NA ADMINISTRACJĘ LOCALHOSTEM?
MARCIN DRYKA • Project Manager • @drymek • http://marcin.dryka.pl/ •
pragmatyk Codifico http://codifico.pl
JAKUB ZALAS @JAKUB_ZALAS
ASCII ART ___ ,-'" "`-. ,'_ `. / / \
,- \ __ | \_0 --- | / | | | \ \ `--.______,-/ | ___) \ ,--"" ,/ | / _ \ \-_____,- / \__-/ \ | `. ,' \___/ < '--------' \__/\ | \__//
WOJTEK WÓJCIK @WOJTASWOJCIK
http://www.flickr.com/photos/flem007_uk/452806412/ http://www.flickr.com/photos/lenore-m/2515800654/ http://www.flickr.com/photos/liftarn/1438863938/
VAGRANT łatwe, powtarzalne i przenośne środowiska pracy
PROBLEM #1 Zależności
WIADOMOŚĆ OD KLIENTA
http://www.flickr.com/photos/92334668@N07/11123538363/
http://www.flickr.com/photos/dgoomany/6338142380/
$ ./beanstalkd -l 10.0.1.5 -p 11300
POTRZEBNY CZAS • uzyskanie dostępu do serwera, • debugowanie serwera
produkcyjnego, • rozwiązanie problemu; 2h x liczba problemów
• kolejki, • bazy danych, • biblioteki, • frameworki; Zależności
projektów zmieniają się w czasie
ROZWIĄZANIE?
ZARZĄDZANIE ZALEŻNOŚCIAMI
PROBLEM #2 Różnice w konfiguracji
OTWARCIE APLIKACJI WEB
OTWARCIE APLIKACJI WEB
POTRZEBNY CZAS • przeglądanie całego kodu i sprawdzanie wszystkich
metod i funkcji ??? • włączenie raportowania błędów na produkcji ??? ∞h x liczba problemów
• Warning: Cannot send session cookie – headers already sent
• Notice: Undefined variable: $name • Notice: Use of undefined constant name - assumed 'name' • Notice: Undefined index in ...
ROZWIĄZANIE?
JEDNOLITA KONFIGURACJA
PROBLEM #3 Przyjście do firmy nowego pracownika
MOŻESZ MI TO ZAINSTALOWAĆ? http://www.flickr.com/photos/juhansonin/5784102806/in/photostream/
POTRZEBNY CZAS • zainstalowanie wszystkich zależności, • szybka konfiguracja aplikacji,
• konfiguracja, połączenie i dane do bazy danych, • wszystko inne o czym zapomnieliśmy kilka godzin x liczba pracowników
• grafik, Frontend, Artysta, van Gogh, • szef, przełożony, •
każda nowa osoba w zespole;
ROZWIĄZANIE?
POWTARZALNE ŚRODOWISKA PRACY
http://www.flickr.com/photos/jdhancock/3432525439/in/photostream/
http://www.flickr.com/photos/tonythemisfit/3052219034/in/photostream/
http://www.flickr.com/photos/extraketchup/459020985/in/photostream/
KTO MA (DZISIAJ!) AKTUALNĄ DOKUMENTACJĘ KONFIGURACJI? http://www.flickr.com/photos/rufino_uribe/61706536/in/photostream/
DOKUMENTACJA KONFIGURACJI • README.md • Skrypt instalujący, sprawdzający zależności •
CHANGELOG • dpkg -l
ALBO…
ZAWSZE AKTUALNA KONFIGURACJA VAGRANTA
KONFIGUROWANIE APLIKACJI PRODUKCYJNEJ • README.md • Skrypt instalujący, sprawdzający zależności
• CHANGELOG • apt-get install *
ALBO…
ŚRODOWISKO PRODUKCYJNE
TESTOWANIE APLIKACJI PRODUKCYJNEJ • Zakładanie konta w systemie produkcyjnym ?
• Dublowanie infrastruktury ? • Los szczęścia ?
ALBO…
ŚRODOWISKO TESTOWE ZBLIŻONE DO PRODUKCYJNEGO
– Thomas A. Edison „We will make electricity so cheap
that only the rich will burn candles.” „Zrobimy elektryczność tak tanią, że tylko bogaci będą palić świeczki.”
None
ZARZĄDZANIE URUCHAMIANIEM I ZAMYKANIEM ŚRODOWISKA
– Winston Churchill „To improve is to change; to be
perfect is to change often” „Ulepszanie to zmiana; żeby być doskonałym trzeba zmieniać często”
None
WERSJONOWANIE ŚRODOWISKA
! KEEP CALM IT WORKS ON MY MACHINE
Vagrantfile $ vagrant ZASADA DZIAŁANIA Konfiguracja Provider Provisioner Puppet, Chef,
fabric VirtualBox, VMWare, KVM, lxc, aws, rackspace
VIRTUALBOX • https://www.virtualbox.org/ VirtualBox is a powerful x86 and AMD64/Intel64
virtualization product for enterprise as well as home use.
PUPPET • http://puppetlabs.com/ Puppet is a configuration management tool that
is extremely powerful in deploying, configuring, managing, maintaining, a server machine.
$ vagrant up done ZASADA DZIAŁANIA DLA UŻYTKOWNIKA KOŃCOWEGO Zainstaluj
co tam trzeba
PODSTAWY VAGRANTA $ vagrant init $ vagrant up $ vagrant
provision $ vagrant ssh $ vagrant halt
$ puppet apply \ --modulepath=vagrant/modules \ vagrant/manifests/demo.pp ŚRODOWISKO PRODUKCYJNE
JĘZYK PUPPETA • Zasoby (Resources) • Klasy (Classes) • Węzły
(Nodes)
RESOURCES • cron • exec • file • notify •
package • service
LOCALHOST VS REMOTE VS VAGRANT
LOCALHOST REMOTE VAGRANT Porządek lokalnym w systemie Jednolite środowisko Możliwość
pracy offline Czas dostępu do plików Czas konfiguracji (nowy projekt) ! " ! ! " ! " ! ! ! " ! ! " !