2013 10-28 php ug presentation - ci using phing and hudson
1. 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
2. Test Driven
Development (TDD)
Image Source: http://www.aaroncohen.me/wp-content/uploads/2013/04/2011-04-28.tdd_.png. Thanks to the creator.
tech.vocanic.com
3. Our Concerns
• For our new architecture, we
wanted:
o
o
o
o
Tests
Build Scripts
Packaging (Client of the REST)
Auto-Deployment
tech.vocanic.com
4. 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
5. 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
6. Phing (PHing Is Not GNU)
• PHP project build system based on Apache Ant
• Philosophy
o
o
o
o
o
o
Simple XML buildfiles
Rich set of provided tasks
Easily extendable via PHP classes
Platform-independent: works on UNIX, Windows, Mac OSX
No required external dependencies
Built for PHP5
Image Source: http://www.phing.info/trac/chrome/site/logo.gif Thanks to the creator.
tech.vocanic.com
7. 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
21. 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
22. Hudson
• Features
o
o
o
o
o
o
Easy Installations
Easy Configuration
E-mail Integration
Test Reporting
Publishing Docs (PHP Docs, Code Coverage etc)
Plugin Support
Image Source: http://wiki.eclipse.org/images/1/18/Hudson-bust.png Thanks to the creator.
tech.vocanic.com