Joomla Extensions Demo

Support

Do not submit a bug report if you need technical support or have questions.

Forums

Post your suggestions ask for help in the community forums

Contact Me

Missing images/links, any comments, suggestions, need help? Contact me

Skype

Need desperately help?
Skype Me™! But dont abuse of it!

Continuous Build for Joomla

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. 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. This article is a quick overview of Continuous Integration summarizing the technique and its current usage. Martin Fowler about continuous integration

Things get clearer in my mind...I will use a set of Open Sources software to reach this ambitious goal.

Brainstorming

Maintain a Single Source Repository.

Either Subversion running locally on windows/Linux, but I will stay with www.joomlaCode.org at the beginning

Automate the Build

  • I am currently evaluation Maven for PHP but already have ANT script to build components and plugin for Joomla 1.5 (they are not generic enough at the moment)

Make Your Build Self-Testing

  • PHP UNIT tests if available with be run at this stage using PHP command line.
  • Selenium to automate components testing across many platforms, as it runs in many browsers and operating systems, and can be controlled by many programming languages and testing frameworks.
  • Some standard utilities to perform standard Joomla! processes: login, logout for Apache ANT or Selenium
  • I will develop either a ANT plugin or a set of Selenium test cases for deploying and removing
    • component: install, publish, remove
    • plugin: install, publish, remove
  • All these utilities will be available under GPL v3 and as such free to reuse, and improve.

Everyone Commits Every Day

  • This is reserved to developer having a www.joomlaCode.org account and part of the development team.

Every Commit Should Build the Mainline on an Integration Machine

I will use TeamCity continuous build server as it is free for personal use (limited to 20 concurrent build), run on Windows and Linux but require a java VM to run (may not be wanted in a PHP environment). Anyway with ANT, it will be possible to use another build server like Cruise Control or PHP Under Control.

Keep the Build Fast

That is an objective :-)

Test in a Clone of the Production Environment

Joomla! Build farm

  • I can imagine a set of Joomla instances, ideally 5 of each version, aka Joomla! 1.5.3 to Joomla! 1.5.8 and Joomla! 1.0.10 to 1.0.15
  • Joomla instances will be recreated at build time (files and databases), that mean Joomla! will get newly installed and removed in case of successful build
  • All Joomla! instances will be running with XAMPP, ideally on port not available to the outside world for security reasons

Make it Easy for Anyone to Get the Latest Executable

Successful build (Artifacts) are only available if build is successful. Team City provide this with less effort (configuration)

Everyone can see what's happening

  • A guest account will be available or a free public area with limited access to see the result of builds.
  • RSS feeds, emails and Instant messaging (Jabber) out of the box for end users or developers!

Automate Deployment

That will be, auto publish to some demo site in a configurable way. At the moment, at http://demo.waltercedric.com and http://demo2.waltercedric.com for me :-)

Final words

  • I will provide a ready to use package for Windows and Linux and all scripts, so anybody will be able to run it also on your own.
  • Critical part will be documented in my WIKI at http://wiki.waltercedric.com direct link HERE

It seem that nobody is providing such a package as I am after only one day at the top of search results in Google "continuous build joomla"

You might also like:
Announcing Module nimbus for all users of Phil Taylor Joomla
922 days ago
Announcing Module nimbus for all users of Phil Taylor Joomla
I am a very happy user of Joomla! tags from Phil Taylor. My only complaints is that it is still not
Content plugin for Joomla! 1.5 to embed Freemind Mind Map in
922 days ago
Content plugin for Joomla! 1.5 to embed Freemind Mind Map in
I offer You now a new plug-in for Joomla! 1.5 that allow you to display any Freemind Mind Map usi
Joomtwitter a twitter module for Joomla!
1074 days ago
Joomtwitter a twitter module for Joomla!
Twitter is a free service that lets you keep in touch with people through the exchange of quick, fre
Adding Google Analytics to Atlassian JIRA
1195 days ago
Adding Google Analytics to Atlassian JIRA
As I found no better tutorial on Internet, here is a very very short how to add Google analytics to
New JIRA Bug Tracking system for all my Joomla! components!
1197 days ago
New JIRA Bug Tracking system for all my Joomla! components!
I am very proud to announce that I got granted a JIRA and Bamboo Open Source license! Extrac
Joomla development, correct usage of subversion
1453 days ago
Joomla development, correct usage of subversion
I am developing for Joomla! now since the beginning but I was always disturbed by the way peopl
Converting your component from Joomla 1.0.8 to Joomla 1.1.X
2250 days ago
Converting your component from Joomla 1.0.8 to Joomla 1.1.X
  I am  currently in the process of  moving all my open source project (7!) in C
Access to Joomla CVS forge using eclipse
2251 days ago
Access to Joomla CVS forge using eclipse
 I show You here (with screenshots) How to access Joomla Forge CVS system using the standard Ec
blog comments powered by Disqus
Category: Development

Donations

Thank You for supporting my work
Subscribe to me on YouTube

Latest Articles

  • In this series of post I will outline some common techniques to help Joomla extensions development. As you know Jooml... ...
  • CedTag  has been updated to version 2.5.3 and correct a lot of bugs and contains some nice features. CedTag is t... ...
  • CedThumbnails has been updated to version 2.5.5 and contains 1 new features for both Joomla 1.7 and Joomla 2.5. For ex... ...
  • CedSmugmug  has been updated to version 2.5.2 and correct some bugs and contains some nice features. CedSmugmug&... ...
  • If you want an extra gigabyte of storage on your Dropbox account, the online cloud service invites you to compete in i... ...

Subscribe

Latest Comments

Popular Posts

rockettheme advertisement

dropbox logo

Help Us & Leave Feedback!

  • Do you have an excellent article idea you would like to read about here? Share it!
  • Do you have some interesting tips how we could improve our site?
  • Something missing here? Help us make this blog a better place, leave feedback!
We would love to hear from you! Be active! Write us now!