(Tried sending this last weekend w/ an image attachment, which wikitech-l
apparently didn't like. Trying again)

Scott's RFC about Travis got me thinking about GitLab again.  To satisfy my
curiosity, I conducted a little experiment this weekend: I imported the
Wikipedia iOS GitHub repo into GitLab [0], configured it to use GitLab CI
[1], and added my own laptop as a runner.  I didn't do this with any
specific outcome in mind, but wanted to share the results as food for
thought.

While just a proof of concept, it took maybe an hour to setup and, perhaps
most notably, is powered entirely by FLOSS (aside from some components
specific to iOS development).  I've added my thoughts about approach below,
but take with a grain of salt as my experience was quite brief:

*Pros*

   - FLOSS
   - Versatile
      - This setup uses a shell runner on an OSX machine, but other setups
      could use shared runners, dedicated runners, runners on Linux
inside Docker
      containers, etc.
   - Decent-looking number of contributors (though clearly one person is
   doing the lion's share on GitLab) [2]
   - Easy to setup

*Cons*

   - Small number of pre-made runners (e.g. compared to Travis)
      - Especially true for OS X, which appears to have no shared runners.
      Therefore, we'd have to provide our own (like I did with my own laptop).
      This could be facilitated via configuration management systems
(e.g. Boxen
      or Ansible), but still not as "hassle free" as Travis (which
provides OS X
      VMs as part of the service).

*Unknowns*

   - How to hook up runners that reside in our secure networks (e.g. the
   iOS Mac Mini)
   - ToU / ToS

Otherwise, my overall impression of GitLab was very positive.  It seems to
have all the same features of GitHub and then some*:* e.g. protected
branches and requiring approval from specific individuals for merge
requests (similar to our +1/+2 system).  Also, the UI is very modern and I
found it quite enjoyable to use.

Hope you found this interesting and had some fun experiments of your own
this weekend :-)

Brian

0: https://gitlab.com/wikimedia/wikipedia-ios
1: https://gitlab.com/wikimedia/wikipedia-ios/merge_requests/1
2: http://contributors.gitlab.com/

-- 
EN Wikipedia user page: https://en.wikipedia.org/wiki/User:Brian.gerstle
IRC: bgerstle
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to