Some general Gitlab CI questions, asking for general advice

GitLab 8’s CI integration broke the workaround I was using to integrate Jenkins. Because of that, I’ve been poking around Gitlab CI a bit more. And, I’m remembering some of why I chose Jenkins in the first place… So, here are the things I’m wondering about, I’ve Googled some, but haven’t really found solid answers.

What is with the runners? Or, rather, why is Gitlab CI itself not a runner? I can see how handy it would be if I needed to farm out my builds to multiple servers. But when I only really need a small amount of processing power, it seems like overkill to have to install gitlab-multi-runner.

How do I view non-stdout testing output? When I was first investigating setting up CI, I found this article http://www.sitepoint.com/analyzing-php-project-jenkins/ Quite a few of those reports could be quite useful if I integrated them into my workflow. I especially liked checkstyle. As far as I can tell, Gitlab CI does not offer any way to use tools like that. Maybe due some of what is mentioned here: http://feedback.gitlab.com/forums/176466-general/suggestions/4522830-allow-access-to-build-artifacts-of-gitlab-ci ?

Jenkins let’s me use ssh-agent to run as a specific user. That made it really easy to use my existing ssh-key authentication for running git commands on remote server in order to deploy code. I had to copy my local users private key into the gitlab-multi-runner user before my remote git commands would work. Is there a way to run gitlab-multi-runner as a different user?

Has anyone implemented Behat testing with Gitlab CI? What about Selenium? Or other user interaction kinds of tests?

Anyone have any general advice on how to test and deploy Drupal 7 sites with Gitlab CI?

What about Maven projects, like Jasig CAS 4?

Anything you wish you had known when you first started using Gitlab CI?