2015-11-22-gitlab-8-2-released.html.md 8.64 KB
Newer Older
Robert Speicher's avatar
Robert Speicher committed
1 2 3
title: "GitLab 8.2 released with Award Emoji and Repository Mirroring"
date: 2015-11-22
4 5
categories: releases
categories: releases
Robert Speicher's avatar
Robert Speicher committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
author: Job van der Voort
author_twitter: Jobvo
image_title: /images/8_2/header2.jpg

Back home from our Summit in Amsterdam, we're at full force again and have a
whole lot of awesome new features for GitLab 8.2!

This time we added more emoji power to GitLab and made it much easier to release
versioned software with Releases and Global Milestones. On top of that,
the CI train is rolling full steam ahead with artifacts and caching available
right now!
If you're using GitLab Enterprise, you also get Repository Mirroring, a great
feature if you want to make your intensively-used repositories more easily
reachable all over the planet.

William Chia's avatar
William Chia committed
This month's Most Valuable Person ([MVP](/community/mvp/)) is Cristian Bica for
Robert Speicher's avatar
Robert Speicher committed
23 24 25 26 27 28 29
allowing users to select the files view as default project view.
Thanks Cristian!


## Git LFS

Matija Čupić's avatar
Matija Čupić committed
We’re excited to announce we’ve added support for Git LFS in GitLab.com, GitLab CE, and GitLab EE. To learn more about this new feature, take a look at our [highlight blog post](/2015/11/23/announcing-git-lfs-support-in-gitlab/).
Robert Speicher's avatar
Robert Speicher committed
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

## Award Emoji

As a remote worker, you get fewer opportunities for high-fives and thumbs-ups. In order to make virtual celebrations easier, you can now vote on
issues and merge requests using emoji!

![Add award emoji to issues and merge requests in GitLab 8.2](/images/8_2/emoji.png)

This makes it much easier to give and receive feedback, without a long comment thread.
For example, we will start using issues as a replacement for our
[feedback forum](http://feedback.gitlab.com).

## Releases

When creating versioned software, Git tags are ideal. It is not uncommon that you
want to include some extra files and release notes, which are not natively
supported by Git.

With releases you can now add a Markdown-formatted message to any Git tag
and attach any number of files to it.

![Add notes and attachments to a git tag to create a release](/images/8_2/releases.png)

Simply press the edit button next to tags.

## Global Milestones

In GitLab you were already able to create milestones that cover multiple
projects. By giving a milestone the same name across projects, you can view the
grouped issues and merge requests on the dashboard and in groups.

With Global Milestones in GitLab 8.2, we made it possible to immediately create
milestones in multiple projects in a group. This makes it easier to track activity and
progress across groups and projects.

![With Global Milestones, quickly add a milestone to all projects in a group](/images/8_2/global_milestones.png)

## Repository Mirroring (EE only)

If you want to maintain a mirror of a repository in a GitLab instance,
you can now let GitLab handle the mirroring for you automatically in [GitLab
Matija Čupić's avatar
Matija Čupić committed
Enterprise Edition](/pricing/).
Robert Speicher's avatar
Robert Speicher committed
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220

![Mirror any repository automatically in GitLab 8.2 EE](/images/8_2/mirroring.png)

There are several use cases for repository mirroring. If you are globally distributed and want
to have a repository available for quick cloning, you can use repository mirroring
to always have an up-to-date, fast mirror of a remote repository.

![Mirror any repository automatically in GitLab 8.2 EE](/images/8_2/mirroring2.png)

Alternatively, if you want to have a public mirror of your project, for instance
on GitLab.com, you can now do so effortlessly.

## Build Artifacts

You were always able to work with the output from your CI builds,
as long as you up/downloaded it somewhere. That's a bit of a hassle, why not
put it on GitLab's server?

With Build Artifacts in GitLab 8.2 you can do this now. By defining `artifacts`
in your `.gitlab-ci.yml`, you can specify which files will get uploaded and
attached to the build on success.

  - binaries/
  - .config

Do you simply want to have all files that are not tracked by Git? You can
with one single setting:

  untracked: true

This will upload anything from Runner that is not tracked by Git! Then simply
download them from the build:

![Download the build artifact in GitLab 8.2 straight from your builds](/images/8_2/artifacts.png)

To use build artifacts, make sure to upgrade your Runners to 0.7 or higher.
Have a look at
[the artifact documentation for more information](http://doc.gitlab.com/ce/ci/yaml/README.html#artifacts).

In future releases, we aim to introduce artifact expiration, passing artifacts between
builds, and the ability to quickly get an overview of your artifacts.

## CI Runner Caching

When doing CI builds, many builds make use of the same dependencies. Because
Runners start fresh with every run, this means that they spend a lot of time
installing the same things over and over.

With caching now available for builds, this is no longer necessary. You can
specify a list of files and directories that will be cached between builds

For instance, to cache all files in `binaries` and `.config`:

  script: test
    - binaries/
    - .config

As with Build Artifacts, you can also cache all files that are not tracked by

  script: test
    untracked: true

We hope this will give your Runners some much-needed time off.

For more options, view [the documentation on build caching](http://doc.gitlab.com/ce/ci/yaml/README.html#cache).

## Copy to Clipboard buttons

Want to get a commit SHA or the cross-project reference for an issue or
merge request? Simply click the copy-to-clipboard button to have it ready
for pasting!

![Copy to clipboard with GitLab 8.2](/images/8_2/copy.jpg)

## Search through Commit Messages

When you search, GitLab now also searches through commit messages for you!

![Search through commits with GitLab 8.2](/images/8_2/commit_search.jpg)

## CI Runner improvements

With the release of GitLab 8.2, we're also releasing the new Runner, version 0.7.

The biggest improvement in GitLab Runner 0.7.0 is that the Docker executor now uses
separate containers for: git clone, running builds (as specified in .gitlab-ci.yml),
and a separate container for uploading artifacts.
This means you can use images without git installed
(a limitation of previous releases).

Runners now also come with built-in support for TLS self-signed certificates.

## CI & Shared Runners now on by default

We want everyone to be able to use CI with zero effort or configuration.
That's why we've enabled CI and shared runners by default for all new projects.

This means that all you need to do to start using CI is push your `.gitlab-ci.yml`
and your current shared runners will start working on it!

This is also the case for GitLab.com, where we have a number of shared runners
available for everyone to use.

## Other changes

This release has more improvements, including security fixes. Please check out
[the Changelog](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG)
to see the all named changes.

## Upgrade barometer

### Custom Nginx? Update needed!

If you are not using the Omnibus packages and their built-in Nginx settings,
you will have to update your Nginx/Apache settings when upgrading to 8.2.

### Slow-ish migrations

This version contains a (potentially) slow migration that loops through all
records in the 'services' table (project services) to update JIRA settings to a new format.
This took about 5 minutes on our largest server.

### Shared file storage

There is a new config setting for 'shared file storage' in `gitlab.yml` / `gitlab.rb`.
If you run GitLab with NFS or something similar,
you need to make sure this directory is on an NFS share.

### Upgrading from 7.x or before?

*Note* If you are upgrading from a GitLab version prior to 8.0 *and* you have CI enabled,
Matija Čupić's avatar
Matija Čupić committed
you have to upgrade to GitLab 8.0 [first](/2015/09/22/gitlab-8-0-released/).
Robert Speicher's avatar
Robert Speicher committed
222 223 224 225 226 227 228 229 230 231 232 233 234

### Default upgrade behavior

Please be aware that by default the Omnibus packages will stop, run migrations,
and start again, no matter how “big” or “small” the upgrade is. This behavior
can be changed by adding a [`/etc/gitlab/skip-auto-migrations`

- - -

## Installation

If you are setting up a new GitLab installation please see the
[download GitLab page](/install/).
Robert Speicher's avatar
Robert Speicher committed
236 237 238

## Updating

Matija Čupić's avatar
Matija Čupić committed
Check out our [update page](/update/).
Robert Speicher's avatar
Robert Speicher committed
240 241 242 243 244 245 246 247 248 249 250

## Enterprise Edition

The mentioned EE-only features and things like Repository Mirroring can be found in GitLab Enterprise Edition.
For a complete overview please have a look at the [feature list of GitLab EE](http://www.gitlab.com/gitlab-ee/).

Access to GitLab Enterprise Edition is included with a [subscription](http://www.gitlab.com/pricing/).
No time to upgrade GitLab yourself?
A subscription also entitles you to our upgrade and installation services.

- - -