What constitutes a good CI build process?
We use CI, but is deployment to production even a realistic CI goal when you have dependencies on several services that should be deployed too and other applications may depend on these too?
Is a good good CI build process good enough when it’s automated to QA and manual from there?
Well "it depends" :)
We use our CI system to:
This is for a greenfield project of about a dozen services and databases deployed to 20+ servers that also had dependencies on half a dozen other 'external' services.
Using a CI tool to deploy your product to a production environment as a realistic goal? Again, "it depends".
Why would you want to do this?
Some technical things you have to address before you can answer this:
Here are a couple of recent related links about automation and building the tools you need.
When it comes down to it the more complex your system the more difficult it is do automate everything, but that does not mean it is not a worthy goal, it just takes a lot more effort and willpower to get it done—everything from knowing the difficulties you're going to face, the problems you have to account for (failure will happen), the political challenges of building infrastructure (vs. more product features).
Now here’s the big secret... the technical challenges are challenging, but not impossible... the political challenges may be insurmountable. Everything about this costs money, whether it’s developer time or buying third-party solutions. So really, can you build the $1K, $10K, $100K, or $1M solution?
Whatever solution you go for, make sure the automation is robust first, complete second... I.e., make sure you have as robust a solution as you can for getting deployment to a test environment rather than a fragile solution that deploys to production.