2016-05-22-gitlab-8-8-released.html.md 10.8 KB
Newer Older
Yorick Peterse's avatar
Yorick Peterse committed
1 2
---
layout: post
3
title: "GitLab 8.8 released with Pipelines and .gitignore templates"
Yorick Peterse's avatar
Yorick Peterse committed
4
date: 2016-05-22
5
categories: releases
6 7
author: Job van der Voort
author_twitter: Jobvo
Job van der Voort's avatar
Job van der Voort committed
8
image_title: /images/8_8/team.jpg
Yorick Peterse's avatar
Yorick Peterse committed
9 10
---

11
Fresh off our third GitLab Summit, this time in Austin, Texas, we are releasing
12
our 54th consecutive release on the 22nd of the month. Sunday or not, we are not
13 14 15
slowing our release schedule and are excited to show you what we're launching
today.
GitLab 8.8 is ready to go with GitLab CI improvements, performance enhancements,
16
convenient templates, and more!
Yorick Peterse's avatar
Yorick Peterse committed
17

William Chia's avatar
William Chia committed
18
This month's Most Valuable Person ([MVP](/community/mvp/)) is
19 20
Matt Oakes for contributing the support for suppressing text file diffs on the
default branch with `.gitattributes`.
21 22

Thanks Matt!
Yorick Peterse's avatar
Yorick Peterse committed
23 24 25

<!--more-->

26
## Pipelines
Yorick Peterse's avatar
Yorick Peterse committed
27

Amara Nwaigwe's avatar
Amara Nwaigwe committed
28
GitLab has powerful continuous integration built-in.
Job van der Voort's avatar
Job van der Voort committed
29 30 31 32 33
No need to switch to another application, no need to juggle permissions and access, just use GitLab.

Before, you could already define complex pipelines. With GitLab 8.8, GitLab CI
will visualize these pipelines, so you can _see_ how things are going.

34 35
![GitLab CI Pipelines in GitLab 8.8](/images/8_8/pipelines.png)

Job van der Voort's avatar
Job van der Voort committed
36 37 38 39
In the new pipeline view, you see all related builds for a single commit
and the net result of each stage of your pipeline. This allows you to quickly
see what failed and fix it.

40
![A single Pipeline in GitLab 8.8](/images/8_8/single_pipeline.png)
Job van der Voort's avatar
Job van der Voort committed
41

42
By default, GitLab will set up the build, test, and deploy stages (as before),
43
but you're free to [define any other stage][stages-doc] in your
Job van der Voort's avatar
Job van der Voort committed
44 45
`.gitlab-ci.yml` file.

46
> [Read how to define your `.gitlab-ci.yml` file](http://docs.gitlab.com/ee/ci/yaml/README.html)
Job van der Voort's avatar
Job van der Voort committed
47

48
> [Unfamiliar with GitLab CI? Start here!](http://docs.gitlab.com/ee/ci/quick_start/README.html)
Job van der Voort's avatar
Job van der Voort committed
49

50
[stages-doc]: http://docs.gitlab.com/ee/ci/yaml/README.html#stages
Yorick Peterse's avatar
Yorick Peterse committed
51

52 53 54
## GitLab Container Registry

In this release, we are supercharging GitLab CI. First with Pipelines and now with GitLab Container Registry.
55 56 57
GitLab Container Registry is a secure and private registry for Docker images. It isn't just a
standalone registry; it's completely integrated with GitLab. In fact, our container registry is
actually the first Docker registry that is fully-integrated with git repository
58
management and comes out of the box with GitLab 8.8. So if you've upgraded, you already have it!
59
Our integrated Container Registry requires no additional installation. It allows for easy
60
upload and download of images from GitLab CI. And it's free. We were so excited about this feature
61
that we wrote a whole blog post about it. [Read the full post](/2016/05/23/gitlab-container-registry/).
62

63
## .gitignore templates
Yorick Peterse's avatar
Yorick Peterse committed
64

Job van der Voort's avatar
Job van der Voort committed
65 66 67
You should version everything. Well, _almost_ everything.
Occasionally you have to use some private information,
secrets or just junk in the directories that are being watched by Git.
68
For those situations, you can add the files and directories that
Job van der Voort's avatar
Job van der Voort committed
69 70
you want to ignore to your `.gitignore` file.

71
With GitLab 8.8, creating a `.gitignore` file is much simpler.
Job van der Voort's avatar
Job van der Voort committed
72 73 74 75 76
When creating the file in the web interface, GitLab will now automatically
show you a dropdown where you can choose from many different templates
to use for your `.gitignore` file.

You can still edit it to your liking of course.
Job van der Voort's avatar
Job van der Voort committed
77

78 79
## GitHub Importer Improvements

Job van der Voort's avatar
Job van der Voort committed
80
We further improved our GitHub importer in GitLab 8.8.
81
The existing GitHub importer could already import things like repository
Douwe Maan's avatar
Douwe Maan committed
82 83 84
data, issues, wiki pages, milestones, and labels. With GitLab 8.8
the importer is more robust now and will also import pull requests with
a missing source or target branch.
85

86
 > [Want to import from GitHub? Read how, here.](http://docs.gitlab.com/ee/workflow/importing/import_projects_from_github.html)
87 88 89

## New shortcuts

90 91 92
Shortcuts are a great way to get things done, quickly.
With 8.8 we've added two shortcuts and improved the shortcut help:

93 94 95 96
- On a project: `i` To navigate to New Issue page.
- On a issuable: `l` To open Label dropdown on a issuable.
- Global: Typing `?` multiple times now toggles the modal.

97 98
## Toggle whitespace changes

99
Sometimes when people push their commits there are a number of insignificant
100
whitespace changes along with their important changes. We've added a button in our
101 102
UI that allows you to hide these insignificant changes in the commit's diff.

103 104
![Hide whitespace changes in GitLab 8.8](/images/8_8/whitespace.png)

105
## Health Check
106

Job van der Voort's avatar
Job van der Voort committed
107 108 109 110
Software can be a lot easier than people. To see whether
GitLab is healthy, no doctor required. Just point your monitoring
to `/health_check` and look for status `200`.

111 112 113 114 115
This endpoint can be provided to uptime monitoring services like Pingdom,
Nagios, and NewRelic.

> Read more in the [health check documentation][health-check].

116
[health-check]: http://docs.gitlab.com/ee/monitoring/health_check.html
Job van der Voort's avatar
Job van der Voort committed
117

118 119
## UI Improvements

Job van der Voort's avatar
Job van der Voort committed
120
We've improved many things big and small again this release.
121

Job van der Voort's avatar
Job van der Voort committed
122 123 124
Most notably, you will find that the group page and the profile
page are using a new navigation paradigm. The left sidebar will stay
static, where the top bar will provide you with navigation a level deeper.
125

126
![Group Page UI improvements](/images/8_8/group_page.png)
127

Job van der Voort's avatar
Job van der Voort committed
128 129
We believe this change will make getting around in GitLab easier.
We're trying it first in these places and love to hear what you think!
130

131 132
## Other changes

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

### Suppress Text File diffs through .gitattributes
Job van der Voort's avatar
Job van der Voort committed
136 137 138 139 140 141

When you mark a file as non-diffable in your `.gitattributes` file,
GitLab will now respect that and not show the diff.

Thanks to Matt Oakes for contributing this!

142
### Milestone references in Markdown
143

Job van der Voort's avatar
Job van der Voort committed
144 145 146 147 148 149
You can now reference milestones in Markdown!

To reference a milestone that's a single word, use `%` with the name. For instance: `%8.8`. More words? Wrap it in `"`: `%"Cool milestone"`.

Of course, this also works cross-projects and in links:

150 151 152 153
```
gitlab-org/gitlab-ce%8.8
[milestone 8.8](%8.8)
```
Yorick Peterse's avatar
Yorick Peterse committed
154

Job van der Voort's avatar
Job van der Voort committed
155 156
Do you have any more ideas for extensions of our Markdown? Let us know!

Job van der Voort's avatar
Job van der Voort committed
157 158 159 160 161 162
## Performance Changes

* [Use tag_exists? in GitAccess#protected_tag?](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3983): improves SSH/HTTPS pushing performance by only checking a single Git tag upon push instead of all existing Git tags (mostly noticeable on projects with lots of tags)
* [Cleaned up/tweaked Project#open_branches](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3985) and [Improve multiple branch push performance by memoizing permission checking](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4091): improves SSH/HTTPS pushing performance by cutting down the time spent in checking if branches are protected or not
* [Removed tracking of total method execution times](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4124): total method execution timings are no longer tracked by GitLab Performance Monitoring
* [Instrument all Grape API helpers](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4169): GitLab Performance Monitoring now instruments all Grape API helpers
Yorick Peterse's avatar
Yorick Peterse committed
163

Job van der Voort's avatar
Job van der Voort committed
164
Uptime changes:
Yorick Peterse's avatar
Yorick Peterse committed
165

Job van der Voort's avatar
Job van der Voort committed
166 167 168 169 170 171 172
* [Added helper methods for database migrations](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3860)
and [Move generator templates to generator_templates/](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4217):
upgrading from GitLab 8.7.x to GitLab 8.8.0 does not require any downtime as
all migrations can now be performed without stopping your GitLab instance. The
goal for future releases is to also allow online upgrades unless downtime is an
absolute requirement.

173 174
## Other changes

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

Job van der Voort's avatar
Job van der Voort committed
177
## Upgrade barometer
Yorick Peterse's avatar
Yorick Peterse committed
178

Job van der Voort's avatar
Job van der Voort committed
179
Upgrading from 8.7.x to 8.8.0 requires **no downtime**.
Yorick Peterse's avatar
Yorick Peterse committed
180 181

*Note* We assume you are upgrading from the latest version. If not, then also consult the upgrade barometers of any intermediate versions you are skipping.
Matija Čupić's avatar
Matija Čupić committed
182
If you are upgrading from a GitLab version prior to 8.0 *and* you have CI enabled, you have to upgrade to GitLab 8.0 [first](/2015/09/22/gitlab-8-0-released/).
Yorick Peterse's avatar
Yorick Peterse committed
183 184 185 186 187 188

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`
file](http://doc.gitlab.com/omnibus/update/README.html).

Job van der Voort's avatar
Job van der Voort committed
189 190 191 192 193
### Deprecation of Fog gem

The Fog gem will be removed in 8.9 (next month). It's
currently used to connect GitLab's Backup service to various storage providers,
but only a few of fogs "micro-gems" are actually used. We intend to only
194 195 196
include fog-core and support for uploading backups to AWS, Google Compute and
Microsoft Azure in 8.9. If you backup GitLab with a service other
than those, please open an issue so we can consider including your specific
Job van der Voort's avatar
Job van der Voort committed
197 198 199 200
use-case. See
[this issue](https://gitlab.com/gitlab-org/gitlab-ce/issues/15352)
for more information.

Job van der Voort's avatar
Job van der Voort committed
201 202 203 204
### Changes in bin/web and bin/background_jobs

If you installed GitLab from source using a custom SystemD / Upstart service definition, or if you are a package maintainer for GitLab then you should know that bin/web and bin/background_jobs both perform one fewer fork(2) call now when starting Unicorn and Sidekiq respectively. This only matters if you configured your service supervision system to count the number of forks during startup. The official GitLab init script and our Omnibus packages are not affected by this change.

205 206
## GitLab Mattermost 3.0 not included in the 8.8 release

207 208
[Mattermost 3.0](http://www.mattermost.org/mattermost-3-0-multi-team-accounts-mobile-desktop-upgrades-japanese-integrations-for-outlook-ruby-rust/) is a major release requiring [manual upgrade steps](http://www.mattermost.org/upgrade-to-3.0/) and therefore not included in 8.8 omnibus-gitlab package.
Existing GitLab Mattermost users will have to wait until GitLab 8.9 where upgrade to Mattermost 3.1 should be automated.
209 210 211
If you're interested in reading more about how this decision was made, check out [the issue on GitLab.com](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1286).
Also the upgrade design for the next release will be discussed in the same issue so please share your feedback there.

Yorick Peterse's avatar
Yorick Peterse committed
212 213 214 215 216
- - -

## Installation

If you are setting up a new GitLab installation please see the
217
[download GitLab page](/install/).
Yorick Peterse's avatar
Yorick Peterse committed
218 219 220

## Updating

Matija Čupić's avatar
Matija Čupić committed
221
Check out our [update page](/update/).
Yorick Peterse's avatar
Yorick Peterse committed
222 223 224 225

## Enterprise Edition

The mentioned EE only features and things like LDAP group support can be found in GitLab Enterprise Edition.
Matija Čupić's avatar
Matija Čupić committed
226
For a complete overview please have a look at the [feature list of GitLab EE]( /features/#enterprise).
Yorick Peterse's avatar
Yorick Peterse committed
227 228

Access to GitLab Enterprise Edition is included with a
Matija Čupić's avatar
Matija Čupić committed
229
[subscription]( /pricing/).
Yorick Peterse's avatar
Yorick Peterse committed
230 231 232 233
No time to upgrade GitLab yourself?
A subscription also entitles you to our upgrade and installation services.

- - -