Compare production and canary performance
In GitLab 9.1, we introduced canary deployments to GitLab CI, enabling organizations to easily release software in a more controlled fashion. A new version can be deployed to a small percentage of your app nodes, allowing real-world usage by a subset of users prior to full deployment.
With GitLab 10.2, we have added the ability to track the system metrics of the canary version, allowing easy comparison of the real-world performance between versions. Developers can quickly determine whether a change had a positive or negative impact on performance, and decide whether to proceed with the broader deployment. The best part is that they can do all of this without leaving GitLab!
Read through the documentation on Canary System Monitoring
Subgroups and projects on the group page
Subgroups are a great way to organise projects or teams on GitLab. With nearly unlimited nesting of groups, you can create structures to reflect complex repositories, microservices, or even how your internal development teams are structured.
GitLab’s group page has now been given an overhaul to better navigate and explore subgroups and projects. You will now see an expandable tree navigation on the group page, allowing you to quickly find what you’re looking for or discover new projects and groups.
Read through the documentation on Subgroups
Personal Access Tokens replacing Private Access Tokens
Personal Access Tokens can be scoped to certain API privileges, thus providing better security when accessing GitLab through the API or third-party applications.
Private Tokens were previously deprecated and have now been completely removed.
All Private Tokens will be migrated to Personal Access Tokens during upgrade, ensuring your existing applications continue to function.
Read through the documentation on Personal Access Tokens
Restrict push repository mirroring to admins
Push mirroring, when enabled for a repository, will automatically mirror it to the configured target Git repository.
Admins can now limit access to push mirroring to only admin users to prevent private projects from being automatically mirrored to another repository that could be external and unsecured.
Read through the documentation on Repository Mirroring
As part of our ongoing effort to internationalize GitLab, we have now externalised strings in the Contributors and Tag pages, allowing our translation community to add more languages and strings to GitLab.
If you are interested in contributing to GitLab’s Internationalization efforts, we welcome you to join our translation community.
Read through the documentation on translating GitLab
Project visibility as a CI/CD variable
In GitLab, you can define if you want to create a public project, or if you prefer to keep it private. When dealing with pipelines, sometimes you need this information so you can take different actions.
This information is now available in GitLab 10.2, and reading the
CI_PROJECT_VISIBILITY variable you can define, for example, if public access to artifacts and Docker images for the project are allowed. Very useful in case you have a shared template that applies to multiple different projects.
Read through the documentation containing all available predefined variables
GitLab Mattermost 4.3.2
GitLab 10.2 includes Mattermost 4.3.2, an open source Slack alternative whose newest release includes a beta support for tablet computers, mobile appenhancements, plus much more. This version includes security updates and an upgrade is recommended.
Read through the documentation on GitLab Mattermost
Performance is an important part of GitLab, allowing GitLab to scale to hundreds of thousands of users.
GitLab 10.2 introduces a new GitHub importer that uses Sidekiq to perform its work in parallel, vastly reducing the time spent importing projects from GitHub. In the event of hitting the GitHub rate limit the new importer will suspend work and resume it once the rate limit has been reset, without blocking any Sidekiq workers from performing other work.
For small projects such as https://github.com/yorickpeterse/oga the import time was reduced from 5 minutes to 30-60 seconds, while for larger projects such as https://github.com/kubernetes/kubernetes the import time was reduced from several weeks to 6.5 hours.
For more information on the new GitHub importer, you can check out the CE merge request for these changes.
GitLab 10.2 also includes other 12 performance improvements, with a particular focus on speeding up the load speed of merge requests. We have also made improvements to issue load times, as well as reducing some edge cases which can consume significant server resources.
Check all performance improvements shipped with GitLab 10.2
Improved Audit Events
GitLab Enterprise Edition enhances control and accountability with Audit Events. With GitLab Enterprise Edition Starter (EES) you can view audit events in each project or group. GitLab Enterprise Edition Premium (EEP) includes a centralised audit log where all project events are collated in a single place.
GitLab 10.2 EES & EEP now include additional events for actions taken on projects and groups, including:
- Project or group created
- Project or group deleted
- Project moved, renamed or transferred
- Group visibility changed
- User added to group, including permission level of user
- User permission changed
- Project added or removed from a group
In GitLab EEP, deleted project and group audit data is now persisted in the server-wide audit log available in the admin area. The IP address of the user performing the action is now also included.
Read through the documentation on Audit Events
With this release, we are launching a very early version of Epics as the first feature of Portfolio Management. Epics are designed to enable you to plan and track your work at the feature level, as opposed to the design and implementation details level of an issue.
Epics are scoped at the group level. After creating an epic with a title, and optionally writing its description, you can then create and link multiple issues with the epic. This is a typical top-down workflow where you plan a high-level feature idea, and then break it down into smaller issues to be implemented. Conversely, you can take a bottom-up approach where you take multiple existing issues that are related and link to them together in a new epic.
For a given epic, any issue belonging to a project in the epic’s group or any of the epic’s subgroups can be linked. An epic also has optional planned start date and planned end date.
Epics are included in Enterprise Edition Ultimate (EEU) and the Gold plan of GitLab.com.
Read through the documentation on Epics
When you’ve outgrown your project, you can easily promote project milestones to group milestones. Simply click the button from the desired project milestone page to promote it to a group milestone. Similar to label promotion, all project milestones with that same title across all projects in the group will be merged together into one group milestone. And all issues and merge requests that previously had any of those project milestones will now automatically have the new group milestone. Project issue boards associated with the previous project milestone are now associated with the promoted group milestone.
Read through the documentation on promoting milestones
Restore project readme view
Your preferred project home page settings allow you to choose the content you want to see on every project’s home page. You can choose between the projects activity, file list and readme, and readme only.
In GitLab 9.0 the readme only option was removed, but has now been restored for those who prefer a minimal project overview.
Read through the documentation on User Preferences
API for GitLab Pages
GitLab Pages allow you to publish a static website directly from your project’s pipeline. If you want to make it more professional, you can also define custom domains for your content, and protect them with certificates.
In GitLab 10.2, the management of custom domains for GitLab Pages is available via API calls, so that you can automate adding new domains, getting information for existing ones, and also updating domain information, for example, when your SSL certificate has been renewed.
Read through the documentation on API for GitLab Pages
- Warnings are now clearly displayed when deprecated configuration settings are used.
- Support has been added for running separate Redis instances for each persistence class.
- OpenSSL has been updated to 1.0.2m.
- libxml2 has been updated to 2.9.6.
Read through the documentation on Omnibus GitLab
GitLab Runner 10.2
We’re also releasing GitLab Runner 10.2 today! GitLab Runner is the open source project that is used to run your CI/CD jobs and send the results back to GitLab.
Most interesting changes:
List of all changes can be found in GitLab Runner’s CHANGELOG.
Read through the documentation on GitLab Runner