
GitLab 8.15 Released - EddieRingle
https://about.gitlab.com/2016/12/22/gitlab-8-15-released/
======
contingencies
@Gitlab: The features are great but the interface setup is shocking. That
whole video assumes you have a K-cluster going already, and is a maze of this-
thing, that-thing, auth-thing, copy-thing, etc. Have you guys ever tried
interviewing users who are new or maintaining a Gitlab instance over major
version upgrades? It's painful.

The 'quick fix' for setup these days is supposed to be to use a docker
image... but the docker image most people use is unofficial, the maintainer is
swamped and has a policy of ignoring problems, and although it runs it doesn't
work well with real IPs/DNS/SSL/etc. for common cases (eg. email setup
silently fails for many and has for ages - see
[https://github.com/sameersbn/docker-
gitlab/issues/596](https://github.com/sameersbn/docker-gitlab/issues/596) and
[https://github.com/sameersbn/docker-
gitlab/issues/1005](https://github.com/sameersbn/docker-gitlab/issues/1005)
which I recently opened) and adds the docker-is-a-moving-target complexity
issue to the potential user's stack.

Normally I am based in China. Given that Github access is not super fast or
stable there, you guys have a great opportunity to take that market. I'd
personally love to use Gitlab both for my own business and those I consult
for, but I can't get past go with mail on real infrastructure, and experiences
with upgrades to date have been terrible.

Just offering my own recent experiences as a point of reference.

~~~
connorshea
Thanks for the honest feedback, it's genuinely useful for improving the
product.

Out of curiosity, why use the Docker image over our Omnibus package? Omnibus
is generally what we recommend, but if that's not good enough we'd love to
know how it can be improved.

~~~
contingencies
Even if I trusted it not to munge other things (doubtful), IIRC omnibus does
not support my distro (Gentoo), and setting up another distro I have to
(remember to) maintain just to support one application does not appeal medium
term versus using a popular docker image which has done that for me already in
a pre-tested fashion and should handle maintenance smoother.

Basically I'm at this point: 'what's the easiest self-contained box to run and
maintain', with conditions 'I have an IP but it's not dedicated (ports
22/80/443 unavailable)' and 'there may not be existing DNS/SSL for this server
but I can set it up' and 'SMTP from this IP is not desired/desirable, but I
have an existing offsite ISP allowing relay with credentials'. This doesn't
strike me as particularly weird, except that in the latter case Google is not
an option (GFW'd from China).

~~~
AaronFriel
I don't think your concerns are founded, I just deployed GitLab for personal
use on a virtual machine with the omnibus image (gitlab-ce:latest) and it
worked flawlessly. And since they released an update today, to upgrade all I
had to do was:

    
    
        docker pull gitlab/gitlab-ce:latest
        docker stop gitlab
        docker rename gitlab gitlab-old
        docker run --detach --publish 60100:80 --publish 58432:22 --name gitlab --restart always \
             --volume /var/volumes/gitlab/config:/etc/gitlab \
             --volume /var/volumes/gitlab/logs:/var/log/gitlab \
             --volume /var/volumes/gitlab/data:/var/opt/gitlab \
             gitlab/gitlab-ce:latest
        
        # after verifying the new image works, docker rm docker-old; docker rmi [old image]. 
    

It took less than an hour to configure it for external SMTP relay, external
auth with two factor authentication, etc.

I did just get started with it, but I have to say the omnibus install was
fairly easy.

~~~
contingencies
Great, I'm glad it worked for you. It didn't work for me and other people, as
per the issues linked. When it doesn't work, there's no clearly defined debug
path, and very little response.

~~~
AaronFriel
Respectfully, it seems like you are using the wrong Docker image, and that's
the source of your troubles. Others have commented similarly, and I think that
you are too easily dismissing them.

~~~
sytse
I think you're right Aaron.

The Sameer docker image used to be the only way to run GitLab with Docker but
we don't recommend it and it is no longer listed on our installation page
[https://about.gitlab.com/installation/](https://about.gitlab.com/installation/)
to prevent confusion.

Also see my answer in
[https://news.ycombinator.com/item?id=13243443](https://news.ycombinator.com/item?id=13243443)

------
maktouch
I love gitlab! We just deployed our review app deployment to Kubernetes
(create a new subdomain in route53, create a new namespace in k8s, create all
kubernetes manifests in that namespace, create ingress manifest, boom!).

Here's some thing I wish for gitlab:

1\. On merge, run "stop_review" so that we don't end up with a lot of old
review apps.

2\. I wish you could take over [https://github.com/sameersbn/docker-
gitlab](https://github.com/sameersbn/docker-gitlab) or offer something
similar. I find it a little crazy that you have a single docker image for
redis, gitlab, postgresql. There's multiple reason why we don't want to use
this, but the simplest is: we already have mysql running (and feel no need to
move to pgsql), and we already have experience in running redis.. I kinda like
my containers to do 1 thing and 1 thing well.

Merry Christmas, thanks for this patch!

~~~
sytse
Glad to hear you love GitLab and are using the review apps
[https://about.gitlab.com/features/review-
apps/](https://about.gitlab.com/features/review-apps/)

Thanks for the wish list!

1\. Automatically stopping the review on merge makes a lot of sense. The issue
for that is in [https://gitlab.com/gitlab-org/gitlab-
ce/issues/22191](https://gitlab.com/gitlab-org/gitlab-ce/issues/22191) and it
got added to 8.13 if I'm not mistaken [https://gitlab.com/gitlab-org/gitlab-
ce/merge_requests/6669](https://gitlab.com/gitlab-org/gitlab-
ce/merge_requests/6669)

2\. As you know we already have official docker images with
[https://docs.gitlab.com/omnibus/docker/](https://docs.gitlab.com/omnibus/docker/)
so we won't take over Sameer his work. If you want to have separate containers
for the datastores (totally a good idea) I recommend you use the Helm Chart
[https://github.com/kubernetes/charts/tree/master/stable/gitl...](https://github.com/kubernetes/charts/tree/master/stable/gitlab-
ce) It has separate containers for Redis and PostgreSQL
[https://github.com/kubernetes/charts/blob/master/stable/gitl...](https://github.com/kubernetes/charts/blob/master/stable/gitlab-
ce/requirements.lock)

------
guomanmin
Participate in an Interview on Experience with Different Git Tools

My name is Angela and I do researches on user experience for different Git
tools on the market. I’m kicking off a round of discussions with people who
use Git tools. Ideally, I’d like to talk to people that sit on a team of 3 or
more.

If this is you, I would love to talk to you about your experience with <using>
Git tools, or just some of the pain points that are keeping you up at night
when doing your jobs. I’ll just need 30 mins of your time, and as a token of
my thanks to those that participate, I’d like to offer a US$50 Amazon gift
voucher.

If you’re interested, just shoot me an email with your availability over the
next few weeks and we can set up a time to chat for 30 minutes. Please also
include your timezone so we can schedule a suitable time (as I’m located in
San Francisco). Hope to talk to you soon!

Cheers, Angela Guo 378496625@qq.com

------
sergiotapia
I'm curious how you guys build features for EE. Is it a completely separate
Rails project you handle manually to keep base features in sync with the
community edition?

EE is open source but requires a license. Do you just trust companies won't
download the source code and run it. Do you have heartbeat code injected
somewhere to ping servers that are running EE to homebase?

I'm thinking of starting a project, charge money but also open-source it.
Curious what your strategies are, especially since the project is still
greenfield.

Thanks!

~~~
cbdfghh
>EE is open source

It is _not_. You cannot distribute it. That makes it not open source.

~~~
thanksgiving
yeah, the term I'd use is source available? anyway, I agree with the idea that
"open source" is a dirty term, an attempt to subvert the free software
movement. But that is a battle for another day.

Someone else put it better than I could:

> Likewise a Source Available is not necessarily Open Source, but Open Source
> is necessarily Source Available.

[https://haacked.com/archive/2006/07/26/CodeAvailableVsOpenSo...](https://haacked.com/archive/2006/07/26/CodeAvailableVsOpenSourceVsFreeSoftware.aspx/)
(requires you to accept github cert because https is difficult for some
reason)

Blog github at
[https://github.com/Haacked/haacked.com](https://github.com/Haacked/haacked.com)

------
orf
Holy hell this is amazing! Gitlab all the way! You release often and there is
always something awesome in there, I love reading your release notes.

One thing I find strangely lacking (seeing as you bundle it) is notifications
from gitlab to mattermost when builds fail or issues/mrs are opened.
Apparently I have to run some strange 3rd party application to process
webhooks?

~~~
connorshea
I'm not sure I understand why you're under the impression that you need a 3rd
party application for that, as far as I know it's possible with just GitLab
and Mattermost. If there are any confusing docs we need to improve I'd be
happy to do so :)

Build failures can be sent to Mattermost using our Pipeline webhooks described
here:
[http://docs.gitlab.com/ce/web_hooks/web_hooks.html#pipeline-...](http://docs.gitlab.com/ce/web_hooks/web_hooks.html#pipeline-
events)

And then the Incoming Webhooks in Mattermost described here:
[https://docs.mattermost.com/developer/webhooks-
incoming.html](https://docs.mattermost.com/developer/webhooks-incoming.html)

------
wernerb
As a paying gitlab ee customer, we love to use gitlab. I just have one gripe
with review apps. We would really like you to open it up with an API.

Allowing us to create the infrastructure outside of gitlab-ci and setting the
reviewapp url/domain etc using the API would be extremely valueable for us, as
we are stepping off of the gitlab-ci, but would very much like the UI
interface upgrades review apps provides.

We are stepping off of Gitlab CI because of: * Only a single pipeline allowed
per repository. We have a monorepo as we have a lot of small artifacts that
make no sense to split out to multiple repo's and have to manage using
gitsubmodules or having a separate code review process (we use merge requests
a lot!) * Gitlab-ci's "stages" and not allowing dependencies on cross-stage is
not helpful * No "skipped" status that can be supplied during the pipeline.
E.g., we want to ignore changes to our documentation .

~~~
sytse
If you have specific functionality that is now only in the interface in an API
we'd be glad to have a look. But it sounds like you want to replace
functionality in .gitlab-ci.yml with an API, this would be hard.

Instead we would gladly word with you to make GitLab CI better so you can keep
using it.

1\. Single pipeline => I understand using a monorepo. But I don't understand
yet why you need multiple pipelines. Does the pipeline work different
depending on what file is updated?

2\. Do you mean cross project pipelines? [https://gitlab.com/gitlab-
org/gitlab-ee/issues/933](https://gitlab.com/gitlab-org/gitlab-ee/issues/933)

3\. Do you mean setting criteria for build skipping in .gitlab-ci.yml ? What
would be an example criteria?

Since you are a paying customer feel free to work with our support team to
have the features you need prioritized. We want everyone to be able to use
GitLab CI.

------
chmln
I'd usually refrain from "+1" style comments, but you guys rock!

Its great to finally see some improvements in the interface, but its still
rather far from being as user-friendly as GitHub.

I've got some very specific aspects in mind. Are contributions to Gitlab's
interface accepted?

~~~
no_protocol
Can you share what these items are? I have used GitLab quite a bit and GitHub
just a little, and I so far have enjoyed using GitLab much more. I had a hard
time finding my way around on GitHub.

The main parts I've used in both are creating Issues and Merge Requests, and
in GitLab I've accepted them and managed teams/projects.

~~~
chmln
Sure, some things off the top of my head:

\- On the main project page, the file list/table cells have too much padding.
The same project's file list, with 22 files, on GitHub fits on my screen
comfortably. On Gitlab, the whole table sits at 928px in height. Reducing the
top/bottom padding in cells to 5px, without a loss in usability, yields a much
nicer 708px height

\- The two panels above the file list (the branch, and the latest commit)
could be streamlined and merged

\- Frankly, the whole area with the project name and the buttons below is
incredibly and unnecessarily convoluted. Some important links are grayed, some
others are not relevant for every project (e.g. I don't need a contribution
guide for my private project)

\- A _lot_ of links are indistinguishable from text

~~~
nmrony
Hi chmin, thanks a lot for your suggestion. We will look into it. Please feel
free to open an issue regarding that if you want. We are also considering
about the line length in a file so that people find it more friendly to read.
[https://gitlab.com/gitlab-org/gitlab-
ce/issues/13680](https://gitlab.com/gitlab-org/gitlab-ce/issues/13680). Thanks
again for your suggestion :-)

------
angry-hacker
Are there notable projects or organizations moved to gitlab.com?

On top of my head I only know f-droid that is there. I use it for personal use
and love it, would love if more projects moved away from github.com,
especially open source.

~~~
sdesol
I talked about GitLab and how they can compete against GitHub in this past
comment

[https://news.ycombinator.com/item?id=11155293](https://news.ycombinator.com/item?id=11155293)

and at the present moment, they are still pretty far from being able to
convince notable projects to leave github.com for gitlab.com The biggest issue
right now, is there is a measurable difference between gitlab.com and
github.com, which is, it's much slower.

GitLab is working on this and I have no doubt this will become a non-issue in
the future, but they still have to deal with the fact that you can't compete
with being "as good as". Even if gitlab.com becomes as good as github.com,
they will still have a difficult time, to convince others to leave github.com
for gitlab.com

I guess my point is, since github.com is the incumbent, the only way that
gitlab.com can become the next place to collaborate, is they have to make it
clear, that they are better than github.com They can't strive for equality,
since you can't compete with "as good as".

~~~
Vinnl
If they get to "as good as", they have the advantage of being open source.
This could convince _some_ projects.

~~~
daxelrod
Note that gitlab.com runs on GitLab EE, their commercial product, which is not
FOSS. This is why the GNU project hosts their own instance of GitLab CE for
themselves.

------
ylere
Wow, that is an amazing release. Seems you actually managed to complete your
goal right before christmas! This whole year has been quite impressive, I
can't wait to see what you will do in 2017.

~~~
robinhood
Thanks! We are super happy to have completed our vision on Idea to production
this year. We'll keep improving and innovating in 2017, you can count on that
:-)

~~~
sytse
One of the things we'll do is to make sure everyone can replicate the idea to
production flow, see [https://gitlab.com/gitlab-org/gitlab-
ce/issues/25986](https://gitlab.com/gitlab-org/gitlab-ce/issues/25986)

I'm also excited about adding Prometheus monitoring for apps you deploy
[https://www.youtube.com/watch?v=NFPGtbQfL1A](https://www.youtube.com/watch?v=NFPGtbQfL1A)

------
hackerboos
I love how easy the integration with Openshift is. Does anyone have any
resources to get a Openshift Kubernetes cluster setup?

~~~
snuxoll
Actually, it's incredibly easy, especially in tandem with CentOS Atomic Host.
Here's my setup at work I just deployed last month:

osm01-03 - OpenShift masters, don't run anything other than OpenShift services
(Atomic host)

osn01-03 - OpenShift nodes, actually run the apps (Atomic host)

osnlb - Load balancer for the master (CentOS 7)

oss - NFS server providing storage for OpenShift docker images (CentOS 7)

On your storage node make sure /exports is on a separate filesystem with
adequate storage to store your container images, it will be set up
automatically from there.

Once you have these couple servers spun up (You can skip the multiple masters
+ load balancer if you don't care about HA, though I recommend it) from a
CentOS box you want to deploy from make sure you push an SSH key out to all
the servers for root access then run the following.

    
    
        yum install centos-release-openshift-origin 
        yum --enablerepo=centos-openshift-origin-testing install atomic-openshift-utils 
        atomic-openshift-installer install
    

Walk through the installer, making sure you pick "OpenShift Origin" to install
the upstream (non-commercial) build, say "container-based" for every atomic
system you have, and tell it which are your HAProxy (load balancer) and
Storage servers, plus what your default domain will be (I recommend using
either a subdomain of your existing corporate domain, or buying a new one for
openshift use). After you're done specifying your configuration it will
generate an ansible playbook and stash it in ~/.config/openshift and start
building your cluster out. Once it's done you just need to set up your DNS
entries (whatever your master hostname is should point at your load balancer,
then I recommend you add a wildcard DNS entry for whatever domain you chose
and point it at all of your nodes). The last thing you'll need to do is
configure authentication [1] as by default it will take any username/password
combo, and setup the default builder images [2]

[1]:
[https://docs.openshift.com/enterprise/3.0/admin_guide/config...](https://docs.openshift.com/enterprise/3.0/admin_guide/configuring_authentication.html)

[2]:
[https://docs.openshift.com/enterprise/3.0/install_config/ins...](https://docs.openshift.com/enterprise/3.0/install_config/install/first_steps.html#creating-
image-streams-for-openshift-images)

Sorry for the wall of text, I spent two days figuring this out myself - but
after a month in production my team is loving OpenShift and we've already
deployed three greenfield apps on it. It's getting a lot more love than I ever
expected, and I'm already looking at needing to give my node VM's more
resources. Feel free to email me at the address in my profile if you have any
questions.

~~~
pslijkhuis
Thanks for the write up. It sounds like a great setup.

------
jobvandervoort
As always, we're here for any questions and welcome feedback and other
comments.

~~~
sytse
People mentioned that seeing the video made their jaw drop, they didn't expect
such an integrated experience. I would like to know what people think, both
good and bad. Currently the plan is to improve the idea to production
experience every release to make sure everyone can replicate it
[https://gitlab.com/gitlab-org/gitlab-
ce/issues/25986](https://gitlab.com/gitlab-org/gitlab-ce/issues/25986)

------
softinio
I recently registered to try gitlab. I received unprecedented large amounts of
spam from them daily with no unsubscribe button. I finally emailed them to
stop the spam and they did but not completely I received more but had
unsubscribe this time. Unsubscribed so lets see what happens. One more spam
and I will close my account and never try them again

GitHub is great, does the job incredibly well, doesn't get in the way and have
never been spammed (tip for you gitlab here).

[update] Please don't forget to downvote me for giving honest feedback :-)

~~~
jcordz
Hi, thank you for bringing this to our attention. If you wouldn't mind getting
in touch with Mitchell (commented below) or myself at jennifer [at] gitlab [.]
com, we can look at your particular situation.

To share a little background, our marketing automation system does have a
limit to the number of emails a person can receive: max of 2 per day; 5 per
seven days; and no limit to operational emails. Operational emails are things
like a signup confirmation, EE trial license key & initial download
instruction.

There are a certain periods of time that have the potential to create a
"perfect storm" of emails to be sent/received in short succession.

Example of "perfect storm": If a person signs up for GitLab and download an EE
trial the day or two before the bi-weekly newsletter email is sent, they could
receive 3 operational emails and 1 marketing email in the first 24 hours.

Please let me know if you have additional questions or if I can explain
something more clearly.

~~~
eugeneionesco
What can Gitlab possibly mail me 5 times per week?

I don't understand why this is not max 5 times per month.

~~~
jcordz
Thank you for your feedback. We work very hard not to bombard the community
with messages and actively work to balance our marketing, information,
education and operational emails.

The 5 emails per seven day limit is not something we expect to ever utilize
but allows for flexibility in our communication strategy.

------
icebraining
Oh man, oh man, global hooks! Thank you!

The other features are awesome, but this is the one that will get us to
upgrade right now! We use dozens of repositories, and it's been a pain to
manually configure and update hooks.

~~~
sytse
Glad to hear that, and thanks for posting. Happy holidays!

------
ksec
This may be a silly question. How did Github manage to burn 66M a year while
Gitlab manage to be open source, offer an Free GitLab.com Hosting and continue
a Rapid pace of improvement in multiple domain?

~~~
jsrjenkins
Probably by concentrating more on the product than on politics.

------
bartvanH
Thanks for another update! I’ve been running gitlab-ce for over a year now for
my sideprojects and random small backups. I don't use any of the more advanced
features like ci, but the core has been really great to use.

For reference, i'm running gitlab-ce on a 2 core 2gb vm with 8gb disk and
except for one out of memory error about 6 months ago it has been running
great for a single user. For more serious use i'd give it way more resources,
but for personal use it's humming along perfectly.

~~~
sytse
Thanks for posting, glad you're happy with the update.

2GB for a single user should be enough. To prevent the out of memory error
since using the Omnibus package and configuring 1 or 2GB of swap space if you
haven't done so already.

------
Walkman
This is nice and all but what about page load times? It can have all the bells
and whistles but if you have to wait a minute for just one page to load, it's
unusable.

~~~
connorshea
We've spent quite a bit of time this year improving performance, GitLab.com is
still slower than it should be but it's a lot better now than it was in
January. Self-hosted instances that meet the recommended specs are already
fairly performant, though we're always working to improve things regardless.

As mentioned in the blog post, this release we decreased page size a lot (from
1800kb to 718kb for a given Merge Request).

We're also working on moving to our own infrastructure, the reasoning behind
that move is described here: [https://about.gitlab.com/2016/11/10/why-choose-
bare-metal/](https://about.gitlab.com/2016/11/10/why-choose-bare-metal/)

EDIT: Strike that, we've decided against moving to bare metal for now due to
the complexity. I somehow missed that decision.

~~~
mikekchar
This probably sounds like a strange comment/question, but one of the reasons I
haven't moved over to gitlab is that I know that it is unlikely that I will
every be a paying customer. I actually don't mind that much about the
performance issues (because I really just want cloudy git storage), but I
don't like to take something for free unless I know the person giving it
really wants to give it...

So as strange as it sounds, are you happy with people like me moving to GitLab
even though it may compound your performance problems?

~~~
sytse
We're very happy with people moving to GitLab.com. We just want to warn them
that it will take us time to sort out the performance problems.

And over time we'll start monetizing it more, see
[https://about.gitlab.com/gitlab-com/#free-
forever](https://about.gitlab.com/gitlab-com/#free-forever) for more
information.

~~~
mikekchar
Thanks for that. Your link was actually useful because I didn't realise that
you do builds as well. It is entirely possible that at some point this will be
useful to me, so maybe I will become a paying customer after all.

And if I can just say, the more actual services you add to your system (as
opposed to SaaS features), the more likely I am to become a paying customer.
For me, I really value free software. I'm not so interested in paying for
proprietary SaaS features, and receiving free services. I'd much, much rather
pay for services and use free software.

Whether you can build a business around customers like me, I don't know, but I
just wanted to make sure that you know there are at least some of us out
there.

------
tscs37
I love the work that GitLab is doing, though I'm personally using Gogs/Gitea
since it's much much less resource consuming.

------
mrmondo
Plan meets final execution, love it guys and gals, great work yet again, we
upgraded today without a hitch, within 30 minutes I had devs making positive
comments in chat about the upgrade. Thank you again for all your hard work and
the passion that drives that.

~~~
sytse
Thanks for leaving a comment Sam. Glad to hear the upgrade went smooth and
people are happy. People that experience problems are more likely to let us
know about it so we greatly appreciate your comment.

~~~
mrmondo
and just upgraded to 8.15.1 flawlessly :)

~~~
sytse
Yay! And we got some great news coming out in the next few minutes:
[https://gitlab.com/gitlab-com/www-gitlab-
com/merge_requests/...](https://gitlab.com/gitlab-com/www-gitlab-
com/merge_requests/4340)

------
anhtran
Gitlab has too many downtimes for upgrading. When I got a failed push I was
saying: Oh gitlab has a new version... :meh:

~~~
sytse
The downtime for upgrading is annoying. We're trying to get to a point where
the database migrations don't require downtime. But the deploy of 8.15 caused
40 minutes of downtime, this is not acceptable. For the post-mortem please see
[https://dev.gitlab.org/gitlab/organization/issues/1082](https://dev.gitlab.org/gitlab/organization/issues/1082)

~~~
sytse
Oops, that is not a public link. I've made adjustments to our handbook to move
it to GitLab.com so it can be public [https://gitlab.com/gitlab-com/www-
gitlab-com/commit/7fc274a1...](https://gitlab.com/gitlab-com/www-gitlab-
com/commit/7fc274a195b389c6442061494e41d3e7daf6357f)

------
imcoconut
Damn, Gitlab always crushing it.

------
exstudent2
Great stuff! One thing that's been broken for me for a while now: Raw links. I
just get an empty response. It's kind of an important feature for me (and I'm
sure others) so would love to see it fixed.

~~~
robinhood
I don't understand what you mean by that. Can you create an issue about it [0]
so we can discuss it and fix the problem (if applicable)? Thanks!

[0]: [https://gitlab.com/gitlab-org/gitlab-
ce/issues](https://gitlab.com/gitlab-org/gitlab-ce/issues)

~~~
exstudent2
When you're viewing a source code file, there are links to Raw, Blame,
History, Permalink... The Raw link is broken (for me). I can create an issue.

~~~
robinhood
Yes, please do file an issue with what you encounter, because I can't
reproduce it.

