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
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
ARI会社説明
arisaiyou
1
21k
【Progmat】ST-Market-Outlook-2026
progmat
0
800
【採用候補者向け】BrainPad AAAご紹介資料
brainpadpr
0
740
Morght 会社紹介資料_LAST UPDATED 2026.1
morght
1
7.5k
株式会社EternityFoods Company Deck
eternityfoods
PRO
0
160
AI × アジャイルで、エンタープライズを動かす:文化に寄り添い、ビジネス価値を拡大する実践知 / AI × Agile: Driving Enterprise Transformation
yosuke_matsuura
PRO
0
1.2k
Sprint Reviewで、ビジネスと開発の「当たり前」を同期する / RSGT2026
taguchimasahiro
0
1.7k
2026.1_中途採用資料.pdf
superstudio
PRO
3
95k
ミツモアAI推進G AI活用Tips50
mmota
0
670
MEEM_Company_Deck202512.pdf
info_meem
0
2.7k
全社員が使える環境を整える! n8n Enterprise導入と浸透施策の実践
enpipi
0
800
イグニション・ポイント株式会社/採用エントランスBook_2026
ignitionpointhr
2
170k
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
260
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Site-Speed That Sticks
csswizardry
13
1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
Fireside Chat
paigeccino
41
3.8k
Faster Mobile Websites
deanohume
310
31k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
810
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
260
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
170
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
100
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
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) ! " ! ! " ! " ! ! ! " ! ! " !