Expanding PHP unit testing into the cloud
How to do continuous integration in larger setups. You have successfully set up a continuous integration process with your team and your team is now writing PHP unit tests by the dozens. After some time, the performance of the system is degrading. The number of unit tests is getting bigger all the time. You can of course setup multiple servers.
There may be situations where on certain times, specially on release deadlines, you want a lot more testing to occur. For instance to do compatibility testing on different variations of your supported platform. Different versions of PHP, MySQL, etc. Do you want to keep buying new servers? Why not do auto scaling into the cloud?
OXID is currently building a continuous integration infrastructure where there is a base of on-site servers combined with auto scaling into the cloud on higher testing demand. Besides that, there are also scenarios where you may have many continuous integration projects who depend on each other, so this wouldn't scale well. CI projects wait for each other. For this, OXID is experimenting with software who actually breaks up a single continuous integration project on execution time and distributes and executes the unit tests on multiple servers simultaneously. If needed also into the cloud.