
GitLab 8.10 Released with Wildcard Branch Protection and Manual Actions for CI - ehPReth
https://about.gitlab.com/2016/07/22/gitlab-8-10-released/
======
slyzmud
Nice. It keeps getting better with each release. Speed seems to have improved.
The only place where github is better is in the UX. Gitlab is ugly on a small
laptop screen, in issues view it has three top bars that becomes really
annoying. It reminds me old IE days when you had a lot of bars. Apart from
that, everything is amazing, I use it daily, specially Gitlab CI, which is one
of the best CI ever.

~~~
sytse
Thanks for your kind words. We're working on improving the UX. We recently
redesigned the menu [https://about.gitlab.com/2016/06/06/navigation-
redesign/](https://about.gitlab.com/2016/06/06/navigation-redesign/) and we're
hiring more UX designers and a UX lead on
[https://about.gitlab.com/jobs/](https://about.gitlab.com/jobs/)

Thanks for naming an example of a view we can improve, I've screenshotted the
issue view in [http://imgur.com/a/0FREI](http://imgur.com/a/0FREI) Suggestions
are very welcome.

Glad to hear CI is working out for you. It was great seeing CaptainTrain write
about it yesterday [https://blog.captaintrain.com/12703-building-on-gitlab-
ci](https://blog.captaintrain.com/12703-building-on-gitlab-ci)

~~~
dominotw
hey sytse, how does gitlab ci handle caching of maven,ivy, gem s...artifacts?
Does each new build have to download it ?

I see some issues discussions, workarounds and seems like it does allow -cache
directories but it is unclear how it all works.

for us( unfortunately) its 40 min vs 5 min build times, with/without caches.

~~~
sytse
I think there are a couple of ways to cache:

1\. Build artifacts (recommended)
[http://docs.gitlab.com/ce/ci/build_artifacts/README.html](http://docs.gitlab.com/ce/ci/build_artifacts/README.html)

2\. Cross Runner Caching (not implemented yet) [https://gitlab.com/gitlab-
org/gitlab-ci-multi-runner/issues/...](https://gitlab.com/gitlab-org/gitlab-
ci-multi-runner/issues/336#note_12195101)

3\. Single Runner Caching [https://gitlab.com/gitlab-org/gitlab-ci-multi-
runner/blob/ma...](https://gitlab.com/gitlab-org/gitlab-ci-multi-
runner/blob/master/docs/configuration/advanced-configuration.md) Edit: a
better explanation is in
[http://docs.gitlab.com/ce/ci/yaml/README.html#cache](http://docs.gitlab.com/ce/ci/yaml/README.html#cache)

4\. Container registry (not possible for Maven, etc.)
[https://about.gitlab.com/2016/05/23/gitlab-container-
registr...](https://about.gitlab.com/2016/05/23/gitlab-container-registry/)

I agree it is confusing and my knowledge might not be accurate. I've asked CI
experts to improve the documentation in [https://gitlab.com/gitlab-org/gitlab-
ce/issues/20155](https://gitlab.com/gitlab-org/gitlab-ce/issues/20155)

~~~
Snappy
First off, I'll admit our documentation for caching needs improvement.

We do support caching of gem's and other file artifacts. There are tricks
about file locations, but once you get the hang of it, it works well. See
[https://gitlab.com/gitlab-org/gitlab-ci-
yml/blob/master/Ruby...](https://gitlab.com/gitlab-org/gitlab-ci-
yml/blob/master/Ruby.gitlab-ci.yml) for an example for Ruby. It's actually one
of the sources for our new CI configuration templates!

But sometimes, you don't really want caching, you want artifacts. Caching is
an optimization, but isn't guaranteed to always work, so you need to be
prepared to regenerate any cached files in each job that needs them.

Artifacts, on the other hand, are guaranteed to be available. It's sometimes
confusing because the name `artifact` sounds like something that is only
useful outside of the build, like for downloading a final image. But artifacts
are also available in between stages within a build. So if you "build" your
application by downloading all the required modules, you might want to declare
them as `artifacts` so that each subsequent stage can depend on them being
there. There are some optimizations like declaring an expiry time so you don't
keep artifacts around too long, and using `dependencies` to control exactly
where artifacts are passed around. Again, complicated subject that is poorly
documented. I'd be happy to help you figure it out for your use case (and then
publish the learnings).

------
131hn
There's also the "disable clone over http, https, just allow ssh" setting we
are so longing for ! Great release !

~~~
sytse
Thanks, glad to hear that we shipped what you needed.

------
nieksand
Very excited to see the progress. We're switching over from Github to Gitlab
EE in the coming weeks.

I do wish cross-repo pull requests could be imported.
([http://docs.gitlab.com/ce/workflow/importing/import_projects...](http://docs.gitlab.com/ce/workflow/importing/import_projects_from_github.html)).
Right now we have to hang on to a small number of GH accounts just to keep
several years of that valuable history.

~~~
sytse
Thanks for posting Niek. Glad to hear you'll be switching to GitLab!

Good point about importing cross repository pull requests correctly, I've made
a feature request for it in [https://gitlab.com/gitlab-org/gitlab-
ce/issues/20153](https://gitlab.com/gitlab-org/gitlab-ce/issues/20153)

------
eMerzh
Nice! Good release !... One thing that make the user experience way less
friendly and make me worry about pushing as our main repo is the git push/pull
speed.... Coming from GitHub or bitbucket it feels really slow. But I don't
give up hope!

Keep up the good work!

~~~
sytse
Thanks for your enthousiasm. Self hosted GitLab instances should be really
fast but GitLab.com is indeed very slow.

This is due to us only using a single NFS server. With the release of
'Multiple Repository Mount Points' today we can start adding more servers.

Long term we want to move to distributed storage with Ceph and we hired a
consultant to help us with this that started last Monday. Also see
[https://gitlab.com/gitlab-com/operations/issues/1](https://gitlab.com/gitlab-
com/operations/issues/1)

~~~
mrmondo
I can confirm this, self-hosted is incredibly fast - you'll wonder how you
ever used gitlab.com or github.com for that matter. It's as fast as it is for
me to push to a locally running git server to be honest.

~~~
mrmondo
As a side note: GitHub.com is hosted on Azure and that says a lot, at risk of
sounding like a zealot - I have quite a bit experience with apps including
office365 hosted on Azure and that platform has more than its share of
problems internally, problem is that it's a bit black box that's run by one of
the least transparent companies I've worked with, let's just say there are a
lot of internal engineering problems especially around networking (DNS
especially) and storage. While I'm sure gitlab could throw more resources at
their instances they're probably limited by costs / going above what is
offered for HN startups to try to lock them into the platform and that may not
help given the aforementioned internal platform issues.

Rest assured, self hosting an instance for say 50-100 developers does not
require much 'grunt' at all as long as your platform is stable and properly
managed which I don't believe should be at all hard in 2016 assuming you have
half decent systems engineers or use a decent hosted platform.

------
zmmmmm
Wow. Hard to believe the pace at which this progresses and the quality that
they pull off while doing it. Great job!

The only big thing I miss (and I miss this with Github too) is a way to
prioritise issues. Yes, I get it, you can label things 10 different ways and
achieve most of what you get from a priority system. It doesn't replace the
simple ability to get a list in order of the most important things outstanding
in order. I want it to be easy to generate a list of 'urgent' and 'high
priority' where the 'urgent' issues are listed ahead of the 'high priority'
and not ordered randomly.

~~~
Snappy
Priority labels aren't enough for you?
([https://about.gitlab.com/2016/06/22/gitlab-8-9-released/#pri...](https://about.gitlab.com/2016/06/22/gitlab-8-9-released/#priority-
labels)) We're using P1, P2, etc. internally, but you could easily use
`urgent` and `high priority` labels and then sort your lists by `Priority`.

~~~
zmmmmm
Oh my goodness I didn't even know about those. I think it will address my
needs perfectly. I will have to badger our systems people to upgrade.

Thankyou!

~~~
Snappy
Great! Let us know if you have any feedback after you've tried them out.

------
jobvandervoort
As always, a release we're very proud of. We're happy to answer any questions.

~~~
Zikes
Multiline blockquotes seem to be broken in the GitLab web site's GFM
documentation:
[http://i.imgur.com/agTjiLc.png](http://i.imgur.com/agTjiLc.png)

[http://docs.gitlab.com/ce/markdown/markdown.html#multiline-b...](http://docs.gitlab.com/ce/markdown/markdown.html#multiline-
blockquote)

~~~
DouweM
Good catch! Our Markdown documentation describes a lot of GitLab Flavored
Markdown that will (currently) only work inside GitLab itself, not on the docs
site which uses a completely different Markdown renderer.

I've created a Merge Request to add a note to the top of the document
encouraging people to view it within GitLab: [https://gitlab.com/gitlab-
org/gitlab-ce/merge_requests/5440](https://gitlab.com/gitlab-org/gitlab-
ce/merge_requests/5440)

You can check out the Multiline Blockquote example in all its glory here:
[https://gitlab.com/gitlab-org/gitlab-
ce/blob/master/doc/mark...](https://gitlab.com/gitlab-org/gitlab-
ce/blob/master/doc/markdown/markdown.md#multiline-blockquote)

------
vikeri
The manual release feature is great! I was just pondering on how to do that.
For anyone wondering where to start with Gitlab CI I wrote a short post about
our very simple but still very useful CI setup:
[https://pilloxa.gitlab.io/posts/ci-with-gitlab-and-
docker/](https://pilloxa.gitlab.io/posts/ci-with-gitlab-and-docker/)

~~~
sytse
Glad to hear you like it. Thanks for your post. BTW now that we have the
container registry you no longer need to create an account at Dockerhub I
think.

------
vamega
Is it common for Gitlab to take contributions from the community and release
them as Enterprise Only, or am I understanding things incorrectly?

Is the Kerberos Ticket based git pull Enterprise only?

~~~
sytse
We only release things as Enterprise Edition only if they are contributed to
that repository. We never deprecate features from the Community Edition. See
[https://about.gitlab.com/about/#stewardship](https://about.gitlab.com/about/#stewardship)

In this case I think CERN contributed code for both SAML and Kerberos over
time. The SAML code got merged into CE and we ended up spending a lot of time
improving it, documenting it, and providing unpaid support. It turns out that
SAML is more of a framework for creating standards than a standard :)

The Kerberos functionality was contributed by CERN to Enterprise Edition
[https://gitlab.com/gitlab-org/gitlab-
ee/merge_requests/6](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/6)
and CERN left this comment [https://gitlab.com/gitlab-org/gitlab-
ce/merge_requests/685#n...](https://gitlab.com/gitlab-org/gitlab-
ce/merge_requests/685#note_1297043) on the Kerberos CE contribution.

I think Kerberos Ticket based git pull is Enterprise only.

------
Sheepsteak
Inline Videos now supported!

I've been wanting this on GitHub for so long. The example in the docs seems
broken to me though -
[http://docs.gitlab.com/ce/markdown/markdown.html#videos](http://docs.gitlab.com/ce/markdown/markdown.html#videos)

~~~
DouweM
Yep, you're right, our Markdown documentation describes a lot of GitLab
Flavored Markdown that will (currently) only work inside GitLab itself, not on
the docs site which uses a completely different Markdown renderer.

I've added a note to the top of the document encouraging people to view it
within GitLab: [https://gitlab.com/gitlab-org/gitlab-
ce/merge_requests/5440](https://gitlab.com/gitlab-org/gitlab-
ce/merge_requests/5440)

You can check out the Videos example in all its glory here:
[https://gitlab.com/gitlab-org/gitlab-
ce/blob/master/doc/mark...](https://gitlab.com/gitlab-org/gitlab-
ce/blob/master/doc/markdown/markdown.md#videos)

It appears however that it doesn't currently work correctly with files in the
same repo, just with absolute links. I've created an issue for that here:
[https://gitlab.com/gitlab-org/gitlab-
ce/issues/20189](https://gitlab.com/gitlab-org/gitlab-ce/issues/20189)

------
nullcipher
I want to love gitlab but it's very slow on small machines (2gb). Worse is
that they insist on this omnibus stuff which is all great if you have time on
your hands. Any reason gitlab does not auto update?

~~~
lloeki
This is lacking detail about the exact use case but either one of:

\- use gitlab.com with private repos for free

\- install from source to skip omnibus. I've been updating ours for a couple
years now and it's always been simple. Bonus is that if you need a quick patch
or even the occasional bespoke tweak you've got the git repo _right there_
which has been invaluable.

\- githost.io is a thing (contemplating migrating to it nonetheless because
GitLab has really come so far that we don't need much patches anymore)

------
b34r
What's with the >>> fencing notation? Bugs me when companies intentionally
reinvent the wheel.

~~~
DouweM
I added the blockquote fence feature because I was getting tired of having to
manually prefix every line with `>` when I was quoting a multiline message
like an entire email.

I picked `>>>` because it mirrored the triple-backtick syntax for fenced code
blocks, and `>` was already used for single-line blockquotes.

You can see the feature proposal I filed at [https://gitlab.com/gitlab-
org/gitlab-ce/issues/16564](https://gitlab.com/gitlab-org/gitlab-
ce/issues/16564), and the merge request I submitted to implement the feature
at [https://gitlab.com/gitlab-org/gitlab-
ce/merge_requests/3954](https://gitlab.com/gitlab-org/gitlab-
ce/merge_requests/3954), for some more insight into how this came to be.

I'm sad to hear that this feels like reinventing the wheel to you. From my
perspective, there existed an imperfect wheel that we "invented" a more
powerful alternative to.

------
faizmokhtar
Loving the new update but I can't help noticing that each new update will
reset my view preferences.

~~~
sytse
Mmm, I thought these are stored in the database, they should not reset I
think. If so please create an issue.

------
aw3c2
Now please tone down the incredible amount of unwanted mail you send to new
signups, got my colleagues fairly puzzled after I insisted we use GitLab
instead of GitHub. :(

~~~
mrmondo
That's a rather rude, unconstructive way of asking for someone to do something
for free for you. How about logging a bug, or if you have - linking to it here
to get some additional traction?

~~~
aw3c2
Can you tell me where to log that bug?

~~~
swsieber
The second yahoo result for "gitlab issue tracker", (the first was the about
page): [https://gitlab.com/gitlab-org/gitlab-
ce/issues](https://gitlab.com/gitlab-org/gitlab-ce/issues)

For the record, it's pretty easy to change your notification settings.

~~~
aw3c2
That's self-hosted GitLab CE, I meant mails from when people sign up at
gitlab.com

