18

As far as I understand, the main difference is that gitlab-ci is opensource (you can install it on your own server) and travis-ci isn't.

So then the latter is always cloud/service-based. And it's free for open source projects.

But then GitLab.com (the company, not the software) also has a cloud version that you don't need to install: ci.gitlab.com. And I'm guessing this version can only be used with public repositories posted in your Gitlab account.

But then, there's almost no documentation out there about running GitLab CI this way. Most of the docs I find are about installing the GitLab CI server or the runners. But how are the ci.gitlab.com's runners configured? What OS do they have? Can I have Windows/Mac runners? (The software supports these OSs apparently, but it's not specified what runners are supplied by ci.gitlab.com's service.)

knocte
  • 16,941
  • 11
  • 79
  • 125
  • 3
    Though I'm interested too, I'm voting to close this question as off-topic because it's asking for "Product or service recommendations or comparisons", which is off topic as per http://stackoverflow.com/tour. – phunehehe Dec 27 '15 at 11:01
  • I should also note that the docker base free runners seems to be working right now. – phunehehe Dec 27 '15 at 11:04

1 Answers1

15

Edit: 29/06/2016

As comments suggest, now gitlab is offering what they call shared runners. This means that you no longer need to bring your own runner, you can use theirs instead and use it just like travis CI, but there is a limit of 2,000 minutes of CI run-time per month for the free tier.

** Previous historic answer **

Gitlab CI can be used online, but you must bring your own runners. What does this means? You need to install a piece of software in your servers which will run the tests. Its more complex than travis.

After installing you have to associate it with your project, and configure it if you want to run tests inside docker or in your bare hardware. There are few more options.

Each time you push a commit to gitlab, a hook is triggered to gitlab ci and a build is sent to an available runner which executes the build and tests and send back tests results to gitlab ci server.

Now, with the last update, gitlab ci is inside gitlab, but it is still the same.

knocte
  • 16,941
  • 11
  • 79
  • 125
The SWE
  • 404
  • 7
  • 14
  • 4
    now gitlab has partnered with digitalOcean, does this answer need to change then? – knocte May 18 '16 at 17:56
  • 4
    **Yes, this answer needs to change.** Unfortunately, no one can add competing answers now. The 500-character answer, therefore, is to read the recently published ["GitLab.com Shared Runners use Autoscaling"](https://about.gitlab.com/2016/04/05/shared-runners) article. The key line is: "All your builds run on Digital Ocean 4GB instances, with CoreOS and the latest Docker Engine installed." _All_ private and public projects hosted at `gitlab.com` may thus enable free-as-in-beer Linux-based, Docker-driven continuous integration (CI) referred to "Shared Runners." – Cecil Curry Jun 29 '16 at 06:26
  • 1
    To continue the prior answer, note the critical adjective "Linux-based." Yes, that's right! Although Docker transparently supports recent versions of both OS X _and_ Windows, the default Shared Runners provided by `gitlab.com` do _not_. It's Linux or nuthin'... **for now.** By the time you read this, however, this noxious constraint may have been relaxed or even eliminated. Keep your beady eyes peeled on the [official GitLab blog](https://about.gitlab.com/blog), their human-readable changelog, for up-to-the-minute details. Everything is in flux. And it is good. – Cecil Curry Jun 29 '16 at 06:38
  • 4
    To finalize the prior answer, [AppVeyor](http://appveyor.com) (the best and, frankly, _only_ host for Windows-based CI) [explicitly supports GitLab](https://github.com/appveyor/ci/issues/219). That just leaves OS X, for which I have no good solution. Since Windows and Linux are the heavyweight contenders, however, GitLab's current offerings _should_ suffice for most use cases. Cheers, Internet! – Cecil Curry Jun 29 '16 at 06:50