2013 10-28 php ug presentation - ci using phing and hudson
TRANSCRIPT
tech.vocanic.com
Continuous Integration with Phing and Hudson
If it hurts do it more often. - Wisdom of the Internet
All Images have been downloaded from Google Image Search and many thanks to all creators. I am too lazy to attribute each image.
tech.vocanic.com
Image Source: http://www.aaroncohen.me/wp-content/uploads/2013/04/2011-04-28.tdd_.png. Thanks to the creator.
Test Driven Development (TDD)
tech.vocanic.com
Our Concerns
• For our new architecture, we wanted: o Tests o Build Scripts o Packaging (Client of the REST) o Auto-Deployment
tech.vocanic.com
Java World
• Unit Testing: Junit • Packaging: Jar/War • Building: Ant/Maven • Continuous Integration: Hudson
Image Source: http://www.jbase.com/new/products/images/java.png Thanks to the creator.
tech.vocanic.com
Looked for PHP Solutions
• Testing: PHPUnit • Build Scripts: Phing • Packaging: Phar • CI: Hudson
Image Source: http://www.jbase.com/new/products/images/java.png Thanks to the creator.
tech.vocanic.com
Phing (PHing Is Not GNU)
• PHP project build system based on Apache Ant • Philosophy
o Simple XML buildfiles o Rich set of provided tasks o Easily extendable via PHP classes o Platform-independent: works on UNIX, Windows, Mac OSX o No required external dependencies o Built for PHP5
Image Source: http://www.phing.info/trac/chrome/site/logo.gif Thanks to the creator.
tech.vocanic.com
Phing (PHing Is Not GNU)
• Features o PHPUnit and SimpleTest unit tests (including test result and coverage
reports) o file system operations o SQL execution, o CVS/SVN/GIT operations, o tools for creating PEAR packages, o documentation generation (DocBlox, PhpDocumentor) and o much, much more.
Image Source: http://www.phing.info/trac/chrome/site/logo.gif Thanks to the creator.
tech.vocanic.com
Code Snippet – build.xml
tech.vocanic.com
Lint and Prep
tech.vocanic.com
Test
tech.vocanic.com
Deploy
tech.vocanic.com
Phar
tech.vocanic.com
Starting a Development Server
tech.vocanic.com
Composing from Phing Files
tech.vocanic.com
Code Coverage & Test Results
tech.vocanic.com
Generating PHP Docs
tech.vocanic.com
Reports (Test Results)
tech.vocanic.com
Reports (PHP Docs)
tech.vocanic.com
Reports (Code Coverage)
tech.vocanic.com
Lots more on offer
tech.vocanic.com
Hudson
• Continuous Integration • Philosophy
o Building/testing software projects continuously o Monitoring executions of externally-run jobs
Image Source: http://wiki.eclipse.org/images/1/18/Hudson-bust.png Thanks to the creator.
tech.vocanic.com
Hudson
• Features o Easy Installations o Easy Configuration o E-mail Integration o Test Reporting o Publishing Docs (PHP Docs, Code Coverage etc) o Plugin Support
Image Source: http://wiki.eclipse.org/images/1/18/Hudson-bust.png Thanks to the creator.
tech.vocanic.com
Security - Hudson + LDAP
tech.vocanic.com
Add Plugins
tech.vocanic.com
Set Up a Job - Basics
tech.vocanic.com
Set Up a Job - Source Code
tech.vocanic.com
Set Up a Job – Triggers
tech.vocanic.com
Set Up a Job – Post Run
tech.vocanic.com
Job Dashboard
tech.vocanic.com
Console Output
tech.vocanic.com