• Like
  • Save
Continuous Integration at T3CON08
Upcoming SlideShare
Loading in...5

Continuous Integration at T3CON08



Introducing Continuous Integration based on Hudson integrated into our main development platform: forge.typo3.org

Introducing Continuous Integration based on Hudson integrated into our main development platform: forge.typo3.org



Total Views
Views on SlideShare
Embed Views



8 Embeds 444

http://flow3.typo3.org 335
http://blog.fabianpiau.com 81
http://www.slideshare.net 10
http://fabianpiau.com 9
http://carmaworld.free.fr 6
http://wiki.assai.ch 1
http://www.dkd.de 1
http://translate.googleusercontent.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Continuous Integration at T3CON08 Continuous Integration at T3CON08 Presentation Transcript

    • Continuous Integration Sebastian Kurfürst sebastian@typo3.org
    • Audience Developers Project Managers
    • Continuous Integration Subversion forge.typo3.org Collaboration Platform Wiki Bugtracker
    • Abstract { Version Control Requirements Test-Driven Development { What is CI? Continuous Integration with forge Integration Your own CI Server Conclusion
    • - Requirements - Version Control Subversion Repository Commit Update Update
    • Synchronize Often! Repository 1 2 3 4 Working 1 Copy Split your work into smaller chunks!
    • Short Development Cycles
    • How many of you have ever written a unit test?
    • How many of you write unit tests during your daily work?
    • Test-Driven Development » ... means that you write an automated test, then you write just enough code to make that one test pass, then you « refactor the code primarily to improve readability and remove duplication. Henrik Kniberg SCRUM and XP from the Trenches
    • Test-Driven Development Test Case FAIL Implementation OK Refactoring OK
    • Test-Driven Development - Demonstration -
    • An Academic Example • Write a Mathematical Helpers class, which has a method „square“, which multiplies a number with itself.
    • 1. Write a test case!
    • How to use it • Nicely integrated with forge
    • The test case fails
    • 2. Implement!
    • The test case...
    • Spot design flaws earlier!
    • Unit tests are a Safety net for the future
    • What is CI? Integration with forge Your own CI Server
    • Continuous Integration » ... is a software development practice where members of a team integrate their work frequently. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to « significantly reduced integration problems and allows a team to develop cohesive software more rapidly. Martin Fowler http://martinfowler.com/articles/continuousIntegration.html
    • Integrate frequently! Integrate every few hours, at least daily! Hi! I am Mr. Hudson and I will do the integration work for you, and report back!
    • I will do the following: Run Unit Tests ... on Linux, Windows and Mac Test your coding style Build code documentation (soon)
    • Workflow 4. Show Results 3. Run tests 2. Start Build 1. Commit Subversion Repository
    • Integration with forge
    • Daily Use
    • For Power Users
    • Jabber Integration I will do the integration work for you, and report back!
    • How to use jabber notifications
    • Your own CI server 1 Download hudson.war
    • Your own CI server 2 Run hudson.
    • Your own CI server 3 Check out our build scripts: https://svn.typo3.org/Teams/forge.typo3.org/hudson-helpers/
    • Your own CI server 4 Use the following „execute shell“ build target: cd /path/to/hudson-helpers phing/phing/phing -f build.xml all -Dpackage=PACKAGE_KEY
    • Your own CI server 5 Enjoy hudson!
    • What about Monitor the project status and progress
    • Productivity
    • Conventional development Feature A Feature B Test A Test B Implementation Testing Many context switches
    • TDD Workflow
    • Increased productivity
    • Survey about agile methods improved significantly improved Project visibility Team morale Productivity Software quality Reduced risk Time to market 0 25 50 75 100 %
    • Conclusion
    • Continuous Integration Test-Driven Development Practices Development for FLOW3 Unit Testing Collaboration: Project Mana- Subversion gement: SCRUM
    • Test Driven Development rocks!
    • Test Driven Development makes you happy!
    • Increase productivity!
    • Collaborate on forge.typo3.org!
    • Take our knowledge into your company!
    • ?????? ??? ??? ?
    • Thank you for listening!
    • Photo Sources • BOXES? • NASA • http://www.flickr.com/photos/52005963@N00/245744537/ • http://commons.wikimedia.org/wiki/ Image:TulipStair_QueensHouse_Greenwich.jpg • http://www.flickr.com/photos/55474909@N00/525206678/ • http://flickr.com/photos/castlephotos/490394807/
    • Thank you for listening!