Letos jsem přednášel na Webexpu na téma deployment. Ve 30 minutách se nedá říci dost, aby jste se dozvěděli všechno tak zkusím v tomto článku shrnout o čem jsem mluvil a přidat nějaké zdroje, které pomůžou v dalších úsilí při automatizaci deploymentu.
Pro dobré fungovaní Continuous Integration potřebujete automatizovat deployment na prostředí. Na prostředích se často střídají aktuální feature větve vývojářů nebo se tam provádí update z větve pro release či sprint.
Jako vývojář jsem si vybral přednášky v Development Room a Development Hall.
V pátek začnu na přednášce co má Michal Táborský o Architektuře škálovatelných aplikací, jistě se dozvíme jak to dělají v Mall.cz. Michala znám a jeho vyprávění a postřehy mi přijdou velmi podobné tomu jako to řešíme v práci i my. Pokračovat budu na své přednášce, kde řeknu něco o tom proč automatizovat deployment, co na to použít. Jak to řešíme v LMC (Jobs.
V poslední době se objevilo hodně článků o RabbitMQ a připravuje se kniha kde většina příkladů je v PHP. Připravil jsem malou demonstraci jak se message queue dobře využit. RabbitMQ je napsaný v Erlangu podobně jako CouchDB a hodí ke zpracování dávkových úloh. V demonstraci využívám knihovnu wkhtmltopdf která umí zpracovat html stránku na PDF, používá k tomu webkit jádro.
require_once APPLICATION_PATH . ‘/models/Rabbit.php’; /**
/Ensure library/ is on include_path */ set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH .
Pokud se zajímáte o cloudové technologie, tak možná znáte Heroku. Heroku je pěkné řešení pro Ruby, které vám umožní vytvářet aplikace v Sinatře nebo v Rails a deployment provádět pomocí Gitu. Pro PHP mi něco takového dlouho chybělo, ale začíná se částečně situace vylepšovat, protože je na světe PHP Fog.
Podobně to lehce vyřeším i na svém serveru pomocí SSH a Capistrano, ale stejně se musím starat o instalaci VPS. Jednodušší varianta je jen hosting s SSH přístupem například co mám na Hostmonster.
Dnes je část profilování v Xdebugu (https://xdebug.org) ukládána do souborů v KCacheGrind formátu. Tato funkce byla přidána do Xdebugu, ale není dle specifikace formátu. Byla vytvořena revezním inženýrstvým a tato stávající implementace obsahuje chyby a nepřesnosti.
Od verze 0.6 je KCacheGrind více striktní ohledně interpretace formátu a to způsobuje chyby při jeho používání s výstupy Xdebugu https://bugs.kde.org/show_bug.cgi?id=256425.
Vybraná částka bude použita, aby Derick Rethans mohl správně vyřešit problém s integrací Xdebugu/KCacheGrindu.
Dnes 14.2.2011 vyšela nová verze IDE pro PHP od JetBrains PHPStorm 2.0.
Osobně mě nejvíce vyhovuje fuzzy vyhledávání v souborech, kde lehce najdu při práci se Zend Frameworkem příslušnou šablonu ke controlleru a velmi slušně funguje i potřebné vyhledání užití nebo nápověda.
V práci používám Zend Studio. Doma jsem dříve pracoval v Netbeans. Minulý rok jsem si při přechodu Mac OS X si koupil licenci PHPStorm 1.0, která obsahuje i 1 rok podpory včetně všech upgradů (tedy i verze 2.