That’s a pretty good recap. Internally by build engineer has Jenkins set up for automating our unit tests as well as deployments. He basically has a series of Ant tasks configured that run in a thread for each web server. They synch the code, hit a web service that clears trusted cache along with some other stuff, and finally reinit the framework. As long as successful responses are returned for each of those success is assumed, if the error page is hit, bad sounds play over our computer speakers and we scramble to find out what went wrong. The benefit of that approach is the new code is actively pushed out to each web server and reinitialized on 9 sites across 4 servers all at once and we don’t have to worry about one of the sites on one of the servers still having old versions of the code.
Even though it wasn’t part of Joel’s question, I also mentioned that our build process writes the build number into a text file which is read in as a ColdBox setting. Our custom HTML Helper plugin automatically appends this build number in the query string for all JS and CSS files so browser cache will force a refresh the next time a user hits after the deployment.
Thanks!
~Brad
ColdBox Platform Evangelist
Ortus Solutions, Corp
E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com