SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Deployment PHP aplikací Jan Mittner
Kdo jsme a co děláme?
Vergilio, s.r.o. malé webové studio co děláme tvorba webů a webových aplikací desítky klientů 150 projektů ze známějších projektů např. Jízdomat.cz
Jaký problém jsme řešili?
Deployment PHP aplikací mnoho projektů s častými aktualizacemi desítky až stovky úprav měsíčně jak je nahrát do produkčního prostředí? deployment aplikace řada rutinních kroků na mnoha místech možnost udělání chyby žádná přidaná hodnota nikoho to nebaví
Otevření databázového klienta Přihlášení do databáze Úprava databázového schématu Lokální práce vývojáře Je vše OK? Kontrola výsledku  a chyb Commit do repository Čekání na dokončení přenosu občas se na commit zapomene… Je vše OK? opakování přenosu (FTP padá…) Spuštění FTP klienta Spuštění přenosu Notifikace týmu o deploymentu Notifikace zákazníka o deploymentu Připojení ke správnému FTP serveru Výběr změněných souborů
Lokální práce vývojáře Commit do repository Otevření deployovací aplikace Kliknutí na tlačítko „Deploy!”
Jak jsme to vyřešili?
Automatizovaný deployment SVN + Phing + DBDeploy deployovací aplikace  vývojář produkční server(y) integrační / test server klient deployovací aplikace Phing skript SVN repository SVN klient deployovací aplikace Phing skript
Live ukázka
Funkcionalita#1 přenos jen změněných souborů tisíce souborů, stovky adresářů migrace databáze spouštění delta skriptů pro migraci databáze zálohování databáze před migrací různá konfigurace pro různá běhová prostředí např. doplnění produkčních hesel aby nebyla uložena v repository, ale doplnila se až při deploymentu můžeme tak nechat na projektu pracovat kohokoliv
Funkcionalita #2 linkování externích knihoven a sdílených adresářů Zend Framework, Nette, ... uploadované soubory, logy, ... automatické odstraňování cache a dalších souborů členové týmu i zákazník obdrží e-mail s notifikací včetně přehledu provedených změn (volitelně)
Eliminace rizika lidského faktoru nikdo nezná hesla do žádných služeb  FTP, SSH, DB, … špatný adresář nebo soubor při uploadu opomenutí commitu do repository méně technicky zkušení členové týmu  např. grafici … a to vše na jedno kliknutí
Jak tedy na to?
Charakteristika řešení #1 systém pro správu verzí nezbytným základem SVN, Git, … automatizace potřebných kroků pomocí nástroje Phing velmi podobné javovému nástroji Ant řada připravených a užitečných tasků  možnost psát vlastní tasky jednoduše a rychle přímo v PHP spouštění phingových skriptů pomocí deployovací aplikace instalované na produkčním a integračním serveru
Charakteristika řešení #2 pro všechny projekty je stejný build skript (orchestrační skript) automaticky modifikován dle konfigurace daného projektu symlinky (sdílené adresáře) replace pravidla (produkční hesla) remove pravidla (cache) dostatečně univerzální řešení (proprietární aplikace, ZF, Wordpress) logika fungování podobná nástroji Capistrano pro RoR current, releases a shared adresáře - symlinking Phing i DBDeploy musel být trochu upraven úprava stávajících tasků, přidání vlastních tasků celé ale v PHP
Možná rozšíření spouštěnítestů na testovacím serveru napojení na CI server Jenkins, PHPUnderControl, CruiseControl, … PHP CodeSniffer, PHPMD, PDepend, … javascripty a CSS soubory minifikace kombinování souborů přímá podpora Phingu
Co když… … máte hosting jen s FTP přístupem? … máte hosting se SFTP/SCP přístupem? … máte vlastní server nebo SSH přístup?
Jak začít? 1. Nainstalujte si PEAR + Phing  2. Vytvořte první build skript 3. Přidejte úkoly pro deploy target  4. Spusťte phing deploy –buildfilescript.xml 5. Upravujte build skript k obrazu svému 6. Zautomatizujte spouštění phingu
Zhodnocení našeho řešení aktivně využíváno od dubna 2010 u 150 projektů průměrně 8 deploymentů denně min. 1/2hodinová úspora času denně roční úspora odhadem až 20 čld. značné snížení chybovosti a zvýšení agilnosti cokoliv se otestuje, je možné ihned nasadit databáze a aplikace vždy ve stejné verzi všechno musí projít přes repository
Existující řešení Capistrano, Capifony, Phingistrano, Pake, … ne však zcela univerzální řešení PHPFog, PagodaBox PaaS cloudové služby s možností one-click deploymentu neposkytují však všechny popisované funkce připravujeme vlastní projekt Elephantra.cz ne open-source, ale důležité funkce zdarma
Co si odnést? manuální deployment je ztráta času a peněz deployment PHP aplikací lze automatizovat existujínástroje, které vám pomohou
Děkuji za pozornostVaše dotazy?

Weitere ähnliche Inhalte

Andere mochten auch

Av technika 13
Av technika 13Av technika 13
Av technika 13olc_user
 
WebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPWebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPBrnoPHP
 
Tomáš Votruba - Jak přežít Symfony 3 (1. sraz přátel Symfony v Praze)
Tomáš Votruba - Jak přežít Symfony 3 (1. sraz přátel Symfony v Praze)Tomáš Votruba - Jak přežít Symfony 3 (1. sraz přátel Symfony v Praze)
Tomáš Votruba - Jak přežít Symfony 3 (1. sraz přátel Symfony v Praze)Péhápkaři
 
Nikola luxova
Nikola luxovaNikola luxova
Nikola luxovacekaon
 
Čtvrtkon #44 - Symfony php framework
Čtvrtkon #44 - Symfony php frameworkČtvrtkon #44 - Symfony php framework
Čtvrtkon #44 - Symfony php frameworkMartin Zeman
 
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...Péhápkaři
 
What makes a good developer from a management perspective
What makes a good developer from a management perspectiveWhat makes a good developer from a management perspective
What makes a good developer from a management perspectiveBrnoPHP
 
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS cluster
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS clustercommit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS cluster
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS clusterJakub Kulhan
 
Vývojáři sobě: 0. sraz - PHP: Appka v Nette
Vývojáři sobě: 0. sraz - PHP: Appka v NetteVývojáři sobě: 0. sraz - PHP: Appka v Nette
Vývojáři sobě: 0. sraz - PHP: Appka v NetteVývojáři sobě
 
Symfony vs Nette vs Phalcon
Symfony vs Nette vs PhalconSymfony vs Nette vs Phalcon
Symfony vs Nette vs PhalconVojta Svoboda
 
Real-time Web a NodeJS
Real-time Web a NodeJSReal-time Web a NodeJS
Real-time Web a NodeJSJakub Nesetril
 
Microservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflowMicroservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflowJakub Nesetril
 
FTP deployment Devel 2015
FTP deployment Devel 2015FTP deployment Devel 2015
FTP deployment Devel 2015David Grudl
 
Nette: jak rozbít atom?
Nette: jak rozbít atom?Nette: jak rozbít atom?
Nette: jak rozbít atom?David Grudl
 
A Beginners Guide to noSQL
A Beginners Guide to noSQLA Beginners Guide to noSQL
A Beginners Guide to noSQLMike Crabb
 

Andere mochten auch (17)

Av technika 13
Av technika 13Av technika 13
Av technika 13
 
WebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHPWebSockets - how to do real-time applications in PHP
WebSockets - how to do real-time applications in PHP
 
Tomáš Votruba - Jak přežít Symfony 3 (1. sraz přátel Symfony v Praze)
Tomáš Votruba - Jak přežít Symfony 3 (1. sraz přátel Symfony v Praze)Tomáš Votruba - Jak přežít Symfony 3 (1. sraz přátel Symfony v Praze)
Tomáš Votruba - Jak přežít Symfony 3 (1. sraz přátel Symfony v Praze)
 
Nikola luxova
Nikola luxovaNikola luxova
Nikola luxova
 
Čtvrtkon #44 - Symfony php framework
Čtvrtkon #44 - Symfony php frameworkČtvrtkon #44 - Symfony php framework
Čtvrtkon #44 - Symfony php framework
 
Neo4j Jízdomat
Neo4j JízdomatNeo4j Jízdomat
Neo4j Jízdomat
 
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
Martin Froněk - Jak využít soft skills ve svůj prospěch 2 (15. sraz přátel PH...
 
What makes a good developer from a management perspective
What makes a good developer from a management perspectiveWhat makes a good developer from a management perspective
What makes a good developer from a management perspective
 
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS cluster
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS clustercommit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS cluster
commit => #GitHub => #CircleCI => #Docker => #Kubernetes #AWS cluster
 
Asynchronně v PHP
Asynchronně v PHPAsynchronně v PHP
Asynchronně v PHP
 
Vývojáři sobě: 0. sraz - PHP: Appka v Nette
Vývojáři sobě: 0. sraz - PHP: Appka v NetteVývojáři sobě: 0. sraz - PHP: Appka v Nette
Vývojáři sobě: 0. sraz - PHP: Appka v Nette
 
Symfony vs Nette vs Phalcon
Symfony vs Nette vs PhalconSymfony vs Nette vs Phalcon
Symfony vs Nette vs Phalcon
 
Real-time Web a NodeJS
Real-time Web a NodeJSReal-time Web a NodeJS
Real-time Web a NodeJS
 
Microservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflowMicroservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflow
 
FTP deployment Devel 2015
FTP deployment Devel 2015FTP deployment Devel 2015
FTP deployment Devel 2015
 
Nette: jak rozbít atom?
Nette: jak rozbít atom?Nette: jak rozbít atom?
Nette: jak rozbít atom?
 
A Beginners Guide to noSQL
A Beginners Guide to noSQLA Beginners Guide to noSQL
A Beginners Guide to noSQL
 

Ähnlich wie Deployment PHP aplikací | WebExpo 2011

Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Péhápkaři
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop pythonVladan Laxa
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webůMichal Doležel
 
2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEEMartin Ptáček
 
atoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeceptionatoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeceptionatotocz
 
WordPress: Základy - bezpečnost 3x3
WordPress: Základy - bezpečnost 3x3WordPress: Základy - bezpečnost 3x3
WordPress: Základy - bezpečnost 3x3Vladimír Smitka
 
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitněJiří Mareš
 
Semináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních datSemináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních datJaroslav Prodelal
 
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & Replication
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & ReplicationWebinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & Replication
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & ReplicationJaroslav Prodelal
 
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]Vašek Purchart
 
Odborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částOdborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částProfinit
 
Nové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službámNové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službámJaroslav Vrána
 
Bezpečnost WordPress pro začátečníky
Bezpečnost WordPress pro začátečníkyBezpečnost WordPress pro začátečníky
Bezpečnost WordPress pro začátečníkyVladimír Smitka
 
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Péhápkaři
 
VersionPress - jak dělat WP weby lépe
VersionPress - jak dělat WP weby lépeVersionPress - jak dělat WP weby lépe
VersionPress - jak dělat WP weby lépeBorek Bernard
 
Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?WebScience1
 

Ähnlich wie Deployment PHP aplikací | WebExpo 2011 (20)

Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
 
TNPW2-2012-04
TNPW2-2012-04TNPW2-2012-04
TNPW2-2012-04
 
TNPW2-2013-04
TNPW2-2013-04TNPW2-2013-04
TNPW2-2013-04
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop python
 
Instalace WordPress
Instalace WordPressInstalace WordPress
Instalace WordPress
 
Lotus Notes 7
Lotus Notes 7Lotus Notes 7
Lotus Notes 7
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webů
 
2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE
 
atoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeceptionatoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeception
 
WordPress: Základy - bezpečnost 3x3
WordPress: Základy - bezpečnost 3x3WordPress: Základy - bezpečnost 3x3
WordPress: Základy - bezpečnost 3x3
 
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
 
Semináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních datSemináře M-Files: Konec hledání řešení pro správu firemních dat
Semináře M-Files: Konec hledání řešení pro správu firemních dat
 
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & Replication
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & ReplicationWebinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & Replication
Webinář: Vylepšete ochranu virtuální infrastruktury - Veeam Backup & Replication
 
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
 
Odborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částOdborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. část
 
Nové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službámNové »bezhlavé« CMS — přechod od monolitů ke službám
Nové »bezhlavé« CMS — přechod od monolitů ke službám
 
Bezpečnost WordPress pro začátečníky
Bezpečnost WordPress pro začátečníkyBezpečnost WordPress pro začátečníky
Bezpečnost WordPress pro začátečníky
 
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
Petr Nikolas Prokop - Symfony framework (0. sraz přátel Symfony v Hradci Král...
 
VersionPress - jak dělat WP weby lépe
VersionPress - jak dělat WP weby lépeVersionPress - jak dělat WP weby lépe
VersionPress - jak dělat WP weby lépe
 
Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?
 

Deployment PHP aplikací | WebExpo 2011

  • 2. Kdo jsme a co děláme?
  • 3. Vergilio, s.r.o. malé webové studio co děláme tvorba webů a webových aplikací desítky klientů 150 projektů ze známějších projektů např. Jízdomat.cz
  • 5. Deployment PHP aplikací mnoho projektů s častými aktualizacemi desítky až stovky úprav měsíčně jak je nahrát do produkčního prostředí? deployment aplikace řada rutinních kroků na mnoha místech možnost udělání chyby žádná přidaná hodnota nikoho to nebaví
  • 6. Otevření databázového klienta Přihlášení do databáze Úprava databázového schématu Lokální práce vývojáře Je vše OK? Kontrola výsledku a chyb Commit do repository Čekání na dokončení přenosu občas se na commit zapomene… Je vše OK? opakování přenosu (FTP padá…) Spuštění FTP klienta Spuštění přenosu Notifikace týmu o deploymentu Notifikace zákazníka o deploymentu Připojení ke správnému FTP serveru Výběr změněných souborů
  • 7. Lokální práce vývojáře Commit do repository Otevření deployovací aplikace Kliknutí na tlačítko „Deploy!”
  • 8. Jak jsme to vyřešili?
  • 9. Automatizovaný deployment SVN + Phing + DBDeploy deployovací aplikace vývojář produkční server(y) integrační / test server klient deployovací aplikace Phing skript SVN repository SVN klient deployovací aplikace Phing skript
  • 11. Funkcionalita#1 přenos jen změněných souborů tisíce souborů, stovky adresářů migrace databáze spouštění delta skriptů pro migraci databáze zálohování databáze před migrací různá konfigurace pro různá běhová prostředí např. doplnění produkčních hesel aby nebyla uložena v repository, ale doplnila se až při deploymentu můžeme tak nechat na projektu pracovat kohokoliv
  • 12.
  • 13. Funkcionalita #2 linkování externích knihoven a sdílených adresářů Zend Framework, Nette, ... uploadované soubory, logy, ... automatické odstraňování cache a dalších souborů členové týmu i zákazník obdrží e-mail s notifikací včetně přehledu provedených změn (volitelně)
  • 14. Eliminace rizika lidského faktoru nikdo nezná hesla do žádných služeb FTP, SSH, DB, … špatný adresář nebo soubor při uploadu opomenutí commitu do repository méně technicky zkušení členové týmu např. grafici … a to vše na jedno kliknutí
  • 15. Jak tedy na to?
  • 16. Charakteristika řešení #1 systém pro správu verzí nezbytným základem SVN, Git, … automatizace potřebných kroků pomocí nástroje Phing velmi podobné javovému nástroji Ant řada připravených a užitečných tasků možnost psát vlastní tasky jednoduše a rychle přímo v PHP spouštění phingových skriptů pomocí deployovací aplikace instalované na produkčním a integračním serveru
  • 17.
  • 18.
  • 19. Charakteristika řešení #2 pro všechny projekty je stejný build skript (orchestrační skript) automaticky modifikován dle konfigurace daného projektu symlinky (sdílené adresáře) replace pravidla (produkční hesla) remove pravidla (cache) dostatečně univerzální řešení (proprietární aplikace, ZF, Wordpress) logika fungování podobná nástroji Capistrano pro RoR current, releases a shared adresáře - symlinking Phing i DBDeploy musel být trochu upraven úprava stávajících tasků, přidání vlastních tasků celé ale v PHP
  • 20.
  • 21. Možná rozšíření spouštěnítestů na testovacím serveru napojení na CI server Jenkins, PHPUnderControl, CruiseControl, … PHP CodeSniffer, PHPMD, PDepend, … javascripty a CSS soubory minifikace kombinování souborů přímá podpora Phingu
  • 22. Co když… … máte hosting jen s FTP přístupem? … máte hosting se SFTP/SCP přístupem? … máte vlastní server nebo SSH přístup?
  • 23. Jak začít? 1. Nainstalujte si PEAR + Phing 2. Vytvořte první build skript 3. Přidejte úkoly pro deploy target 4. Spusťte phing deploy –buildfilescript.xml 5. Upravujte build skript k obrazu svému 6. Zautomatizujte spouštění phingu
  • 24. Zhodnocení našeho řešení aktivně využíváno od dubna 2010 u 150 projektů průměrně 8 deploymentů denně min. 1/2hodinová úspora času denně roční úspora odhadem až 20 čld. značné snížení chybovosti a zvýšení agilnosti cokoliv se otestuje, je možné ihned nasadit databáze a aplikace vždy ve stejné verzi všechno musí projít přes repository
  • 25. Existující řešení Capistrano, Capifony, Phingistrano, Pake, … ne však zcela univerzální řešení PHPFog, PagodaBox PaaS cloudové služby s možností one-click deploymentu neposkytují však všechny popisované funkce připravujeme vlastní projekt Elephantra.cz ne open-source, ale důležité funkce zdarma
  • 26. Co si odnést? manuální deployment je ztráta času a peněz deployment PHP aplikací lze automatizovat existujínástroje, které vám pomohou