One of my current projects is to architect an enterprise wide build management environment that is built upon CollabNet’s technologies that include TeamForge and Lab Management.
A good deal of the architecture is centered on automation and how to scale a build environment to potentially hundreds and thousands of users.
“So the question is: How do we provide a build management service based on an open standard stack to potentially thousands of users. Provide maximum value and productivity to our user base versus control, consistency that has a dynamic under tone so that capacity can be increase when the business requires it?”
These are some of the objectives.
1. Automate and centrally manage Hudson/Jenkins Plug-ins
2. Automate and centrally manage upgrading of Hudson/Jenkins
3. Centrally manage the state of each build server so that the state can be consistently restored
4. Consistently automate the provisioning of build servers to eliminate manual labor
5. How this can tied to cloud computing to create a dynamic scalable build environment
6. How this can be tied to system and resource monitoring so that downtime is minimized
Over the next few week (or even months) I will unravel this puzzle and show you the work required to achieve these objectives, however, in the meantime I will leave you with some diagrams of what could be the high-level architecture