Non ho molta familiarità con CruiseControl, ma molte di queste attività manuali possono essere automatizzate con uno strumento CI. Ho usato Hudson in passato, ma sospetto che CruiseControl lo farà bene.
Se lavori dal tronco, crea un lavoro "Promuovi build to QA" e "Deploy to internal group", possibilmente con una sorta di informazioni di controllo. Questo potrebbe richiamare uno script Maven, Capistrano o Fabric (a seconda dell'ambiente) per eseguire l'atto. Questo non richiede alcun lavoro speciale - solo un lavoro che chiama uno script di shell, possibilmente con alcune variabili.
Se lavori nei rami di funzionalità, devi creare un'azione "Promuovi build to QA" o "Deploy to internal group" sui build costruiti sul tuo branch di funzionalità. Questo potrebbe richiedere di creare un plug-in per il tuo sistema CI. Potresti essere in grado di utilizzare un lavoro come sopra, ma il corridore del lavoro avrà bisogno di variabili (come il nome del ramo o il numero di build).
Non sono sicuro di cosa intendi per tracciare i rilasci, ma in passato ho usato due metodi con gli strumenti di configurazione per tenere traccia di quando sono usciti i rilasci. Il primo è rendere il rilascio un lavoro Hudson, il che significa che si ottiene una cronologia delle esecuzioni di lavoro (con output). È possibile associare dati di versione utili alla build di Hudson, in modo da poter vedere a colpo d'occhio quali build sono usciti quando. Il secondo è l'utilizzo di una richiamata nel processo di distribuzione. Quando la distribuzione è completa (o anche se non lo è), effettua una richiamata allo strumento CI (o qualche altro tracker di rilascio) che riporta il risultato (in Hudson, utilizzando un monitor di processo esterno o attivando una build in remoto).
Spero che ti aiuti.