GitLab 9.4 Released with Related Issues and Web Application Monitoring

Tags: #<Tag:0x00007f21aec48ed0>


There are a lot of changes with this one, so instead of giving a list here I am going to explore each one, in subsequent replies.

As always, is updated to this latest release.


I am only going to cover the Community Edition changes, because open core is a stupid business model.

New layout

First up is the new layout, which has its own blog post:

I started using it, and while there is a moment of recalculation, it makes sense. I like the darkened bar at the top, it helps me see the icons. There is a quick link to your layout settings in the profile menu.

Once there you can pick between which layout you want.

There is a feedback issue, so if you have something to say, do so! I haven't used it long enough, but if anything pops out to me I will make sure to pipe up. :slight_smile:


Web Application Monitoring

This feature continues the monitoring introduced a few version back.

GitLab will now automatically detect key user experience indicators like throughput, error rate, and latency.

I haven't had a chance to setup Prometheus, as the "apps" I work on are still single server affairs that run full web stacks. I get the sense this level of monitoring is for continuous deployment scenarios, for 12-factor apps, but maybe I just haven't researched it enough. Thoughts?


Group-level Secret Variables

Oh, this is cool! Secret variables are used to keep credentials out of the codebase, but still able to refer to them during deployments or other pipeline jobs.

An example is the gitlab-ci.yml in my site repo; here's a few lines:

  - echo "$SSH_PRIVATE_KEY" | ssh-add -
  - mkdir -p ~/.ssh
  - '[[ -f /.dockerenv ]] && echo "$SSH_HOST_KEY" > ~/.ssh/known_hosts'

This allows me to deploy to my web server without giving out my secret info. And now it has been extended to groups, which is pretty cool!

The settings page is not intuitive, but if you go to the "Pipelines" settings for a group, you will be able to add them there:

I personally haven't tested them, so I don't know how the permissions for them work at this point; make sure it check that before rolling them out to all the projects and sub-groups!


Variables in Pipeline Schedules

Back in 9.2 GitLab added scheduled pipelines; now variables can be added to those jobs.

I don't use this yet, but I could see it happening, especially as I build new projects with static site generators, like Hugo.


Other Improvements

Here a bunch of one-liners for the other stuff, of which there were many things.

  • Improved Internationalization - Contributions for additional languages including Chinese, French, Japanese and Brazillian Portuguese. Awesome!
  • Group Milestones - similar to secret variables, the groups functionality it coming along nicely.
  • Customizable Path for CI/CD Configuration - let's you set an alternate path for .gitlab-ci.yml, aside from the root of the repo.
  • New Cache Policy for CI/CD Configuration - changes the caching for build jobs; check the cache policy docs to see how you can use it.
  • Extended Docker Configuration for CI/CD - Docker stuff, which I do not understand. But it adds options to CI, so that is useful.
  • Improved Prometheus Monitoring of Kubernetes Deployments - I use neither Prometheus nor Kubernetes, but more metrics is better I suppose.
  • Upcoming Omnibus Package Signing - Signing allows packages to be checked for tampering, so that is good.
  • Security - Add LDAP SSL Certificate Verification - Just reading that makes sense, of course. I didn't know LDAP was supported in the community edition, but it is!
  • GitLab Runner 9.4 - Check the changelog. We only use one for, and it is up to date! :slight_smile:
  • GitLab Mattermost 4.0 - If you are using Mattermost as part of the Omnibus install definitely upgrade! I don't use this, but it always lags behind security-wise.
  • Omnibus Improvements - nginx upgrade.

And that is my digest of changes! Let me know if you have any questions, and feel free to use, where I keep all my codes!