Have you tried Jenkins as a CI server? While the core Gitlab product is quite nice, the feedback I've heard on the CI component is that it becomes problematic once builds become non-trivial (though to be fair, I've heard this mostly from Jenkins folks).