Our current setup consist of a single master controlling several slave machine. Usually, the master would issue the test scripts to slaves based on list. Which ever machine is finish a script or idle, it would continue down the list. All of these are tested against a same single build.
We are moving towards CI way and would wish to do something similar to our current plans. I would think it could work the same whereby the master would build, then distribute to the slave for testing. How would this be done?
edit: Just to clarify my position, I have not use Jenkins before, therefore the lack of knowledge for it. Before flaming me into oblivion, I just need someone to point me to the right direction, not asking for a spoon feed solution.
Since you didn’t accept hyde’s response, I’ll assume you’re looking for a more detailed answer. First, if you’re new to Jenkins I highly recommend Jenkins: The Definitive Guide. Jenkins isn’t difficult to use, but it can be hard to get started. That book provides a nice guided tour from the beginning into some of the more intricate parts of running a Jenkins installation. Now on to your question. Jenkins allows you to try things out very quickly without having to really “install” it, so follow along here. You’ll also want access to a second computer to make the temporary slave (don’t worry, there’s no real installation, so just use a coworker’s computer).
These instructions look long, but only because I’m walking through every single step. This won’t take much time. Also, feel free to click on the little question marks next to all of the fields in Jenkins as we go. By the way, when I quote something, type what’s inside the quotes but not the quotes themselves.
http://localhost:8080/. Look! Jenkins is running!You now have a master doing the “build” and a slave doing the “test”, and a build triggers the test. You could add more slaves and so long as they have the label “tester”, the build server will auto-distribute. You could also have many tests following the build, and have the build trigger all of them. That’s all the easy stuff, the thing that requires some elbow grease is getting Jenkins to run your build and tests. Start small and work your way up. Oh, and seriously, go buy that book I linked to (it’s available in dead-tree and DRM-free ebook, and no, I don’t have any connection to O’Reilly or the author, it’s just a very useful book) so you have an idea of what Jenkins can do and how best to fit it with your system and what you want.