Fifteen months ago we released GitLab 7.0. Since then we’ve vastly improved the performance of GitLab, made GitLab work in any Enterprise through deep LDAP integration and made it possible to work with large files in Git. On top of that, the UI has been reworked and improved with every release, GitLab CI has become a very powerful tool and we’ve made hundreds of other improvements.
We built this all as a community and by being more and more open.
Today, GitLab’s next major version is here. We’re very excited that GitLab 8.0 allows for a faster, more beautiful way for people to create, review and deploy code together.
GitLab now comes with continuous integration (GitLab CI) fully integrated. But that’s not all! Almost every element in the interface has been reworked and GitLab will take up to 50% less disk space.
This month’s Most Valuable Person (MVP) is Kirill Zaitsev for the awesome Drone CI integration and work on the service API. Thanks Kirill!
Code lives in GitLab: It’s made, reviewed, and merged in GitLab. Now it gets tested, packaged, and deployed in GitLab as well.
With GitLab 8.0, we’ve integrated GitLab CI directly into GitLab itself. This means that you no longer have to visit a separate application to see the status of your projects. You can see all of your tests, deployments, and packaging that you would normally see in your CI, right in GitLab.
If you were using GitLab CI before, please see the notes on migrating at the end of this post.
Simply visit ‘Continuous Integration’ from the Dashboard:
Or through one of your projects:
There are advantages and disadvantages to this integration. We feel confident that the benefits outweigh the drawbacks.
In GitLab versions following 8.0, the impact of this integration will become more visible. The integration is a big step that we had to do first and we have a policy of iterative improvements.
GitLab 8.1 will integrate CI into the menu structure and add a commit status API, which will make it easier for third party CI services to integrate with GitLab.
GitLab 8.0 comes with a completely new look and feel. This is not just a small iteration, but a major revision of almost every UI element in GitLab.
We fixed the width of certain views to make it easier to view text. We also improved that text with a pretty new typeface. In addition, contrast is reduced for elements that are less important, increased for elements that are more important and some soft lines were added for clarity.
Take a look for yourself at our clean, new design:
Merging a merge request is now faster! Rather than working in local copies of repositories (satellites), we now work directly in them. This makes many git operations, like merges, much faster and more reliable.
By removing satellites in GitLab, we free up the space left behind. Project size in GitLab is cut in half reducing disk usage up to 50%. When you upgrade to GitLab 8.1 next month the satellites will automatically be removed. If you need to remove them before that time you can do so manually.
Want to quickly reply to your colleagues in GitLab while on the go or when going through your email? Now you can. You can now simply reply to any notification email to comment in the issue or merge request. This brings GitLab to any app that can use email; we’re already looking forward to comments from your smart watches!
Still want to get the full view of the issue or merge request while in Gmail? Use the new quick links. In Gmail and in Inbox you will see a direct link to the referenced issue of a notification you got from your GitLab instance. If you use Google Inbox on your phone, you’ll see the links there as well!
Note that you need to go through an involved approval process of Google to enable this. We already did this for GitLab.com.
To make it much easier to upload files to your repository, you can now do this directly through GitLab’s interface!
Yakun Li and Stan Hu deserve special recognition for being patient and persistent while adding this feature, which had a pull request with 250 comments! Awesome work!
We’ve replaced Grack in GitLab to handle HTTP clones and pushes and are now using our own hip Go daemon, gitlab-git-http-server. This means large clones and pushes over HTTP are now less likely to time out! It also ensures the Unicorn workers are freed from these long running requests, making GitLab faster for users.
We’re shipping Mattermost Beta1 with GitLab 8.0!
You can now make use of GitLab Single Sign On to authenticate with Mattermost, making the shared experience much more fluid.
On top of that, the Mattermost team has added File and Image sharing, a way to import Slack data and a host of other improvements and fixes!
The team at Rocket Chat encountered a few temporary road blocks in adding PostgreSQL compatibility. How quickly these are solved will determine if GitLab 8.1 will ship with Rocket Chat or whether it will be delayed.
We’ve now enabled SSL verification for web hooks by default. This makes web hooks safer to use and helps mitigate man-in-the-middle attacks.
You can turn this off in the web hook settings of a project.
In GitLab 8.0 all users and groups will have a publicly visible profile page. This removes some complexity and makes it clear why you can’t claim a name (which previously allowed you to find out what names existed). Private and internal projects will not be shown on these profile pages unless you’re allowed to see them.
With GitLab 8.0 you will be able to set the project notifications setting right from the project’s dashboard. You can now quickly control how much information you’ll get from each project.
This release has more improvements, including security fixes. Please check out the Changelog to see all of the named changes.
GitLab 8.0 can be upgraded online. Do note that if you are using GitLab CI, you will have to perform a manual migration, see below. In addition, there is a small change of behavior in GitLab CI, described directly below.
In GitLab 7.12 .gitlab-ci.yml files were introduced to specify build configurations. If there was no file yet CI would fall back to the legacy build script, which was stored in the database.
With GitLab 8.0, CI will not pick up any builds from projects / branches without
a .gitlab-ci.yml
file present. Configuring a .gitlab-ci.yml
is not difficult.
GitLab 8.0 integrates GitLab CI in GitLab. Depending on your current usage of GitLab CI, this could mean you have to perform a migration that merges your GitLab CI data into GitLab.
If you’re currently not using GitLab CI you do not have to do anything in regards to GitLab CI.
If you have an active GitLab CI instance, you will need to follow our CI migration guide to persist your data and registered runners. This is an involved migration, especially if GitLab CI is running on a separate server. It can be performed while GitLab is online, but GitLab CI will have downtime.
Note that even if you do not care about persisting your CI data through the migration, there is a chance that you have to perform some cleanup. Please read the migration document.
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. The behaviour can be changed by adding a /etc/gitlab/skip-auto-migrations file.
If you are setting up a new GitLab installation please see the download GitLab page.
Check out our update page.
The mentioned EE only features and things like LDAP group support can be found in GitLab Enterprise Edition. For a complete overview please have a look at the feature list of GitLab EE.
Access to GitLab Enterprise Edition is included with a subscription. No time to upgrade GitLab yourself? A subscription also entitles you to our upgrade and installation services.