GitLab 11.10 with dashboard pipelines, merged results pipelines, and multi-line suggestions in merge requests.
Convenient information about the health of pipelines in different projects
GitLab continues to increase the transparency of the DevOps lifecycle. In this edition on Control Panel added an overview of the status of pipelines.
This is convenient even if you are studying the pipeline of one project, but it is especially useful if several projects, - and this usually happens if you use microservices and want to run a pipeline for testing and supplying code from different project repositories. Now you can immediately see the performance pipelines on the control panelwherever they are performed.
Running pipelines for merged results
Over time, the source and target branches diverge, and there may be a situation where they can cope separately, but do not work together. Now you can run pipelines for merged results before merge. So you will quickly notice errors that would only appear if you often move changes between branches, which means that you will fix pipeline errors much faster and will be more efficient in using GitLab Runner.
Further optimization of collaboration
GitLab 11.10 brings even more features for easy collaboration and simplified workflows. IN previous issue we introduced merge request suggestions where a reviewer could suggest a change to a single line in a merge request comment and it could be immediately committed directly from the comment thread. Our users liked it and asked to expand this feature. Now you can offer changes for multiple lines, specifying which lines to remove and which to add.
The dashboard in GitLab displays information about projects across the entire GitLab instance. You add individual projects one by one and can choose which project you are interested in.
In this release, we have added pipeline status information to the dashboard. Now developers can see the performance of pipelines in all the necessary projects - in one interface.
Pipelines for merged results
PREMIUM, ULTIMATE, SILVER, GOLD
Usually, over time, the source branch deviates from the target branch, unless you constantly move changes between them. As a result, the pipelines of the source and target branches are green and there are no merge conflicts, but the merge fails due to incompatible changes.
When the merge request pipeline automatically creates a new link that contains the combined result of the merge of the source and target branches, we can run the pipeline on that link and ensure that the overall result is working.
If you are using merge request pipelines (in any capacity) and using private GitLab runners version 11.8 or older, they need to be updated to avoid the issue gitlab-ee#11122. This does not affect users of public GitLab runners.
When collaborating on merge requests, you often spot problems and come up with solutions. Since GitLab 11.6 we support change proposal for one line.
In version 11.10, comments on a merge request diff can propose changes for multiple lines, and then anyone with permissions to write to the original branch can commit them with a single push. Thanks to the new feature, you can avoid copy-paste, as in previous versions.
Shortcuts in one area
PREMIUM, ULTIMATE, SILVER, GOLD
With labels in the same scope, teams can apply mutually exclusive labels (in the same scope) to an issue, merge request, or epic in scenarios with custom fields or custom workflow states. They are configured using special syntax with a colon in the label header.
Let's say you need a custom field in tasks to keep track of the operating system of the platform your functions are targeting. Each task should belong to only one platform. Can create shortcuts platform::iOS, platform::Android, platform::Linux and others as needed. Applying one such shortcut to a task will automatically delete another existing shortcut that starts with platform::.
Let's say you have labels workflow::development, workflow::review ΠΈ workflow::deployed, indicating the status of the workflow in your team. If the task already has a label workflow::development, and the developer wants to move the task to the stage workflow::review, it just applies the new shortcut and the old one (workflow::development) is automatically deleted. This behavior already exists when you move tasks between label lists on the task board, which represents your team's workflow. Now team members who don't work directly with the task board can change the workflow state in the tasks themselves.
In normal use of a container registry with CI pipelines, you submit multiple separate changes to a single tag. Due to Docker's distribution implementation, the default behavior is to save all changes to the system, but they end up taking up a lot of memory. If you use the parameter -m Ρ registry-garbage-collect, you can quickly delete all previous changes and free up precious space.
Buying Additional CI Runner Minutes
BRONZE, SILVER, GOLD
Users with GitLab.com paid plans (Gold, Silver, Bronze) can now purchase additional CI Runner minutes. Previously, it was necessary to keep within the quota provided by the plan. With this improvement, you can pre-purchase over-quota minutes to avoid interruptions due to pipeline shutdowns.
Now 1000 minutes cost $8 and you can buy as many as you like. Extra minutes will begin to be consumed when you use the entire monthly quota, and the remaining extra minutes are carried over to the next month. IN future release we want to add this feature to the free plans as well.
With Auto DevOps, teams transition to modern DevOps practices almost effortlessly. Starting with GitLab 11.10, each job in Auto DevOps is provided as independent pattern. Users can use ΡΡΠ½ΠΊΡΠΈΡ includes in GitLab CI to enable separate stages of Auto DevOps and still use your custom file gitlab-ci.yml. This way you can include only the jobs you need and enjoy the benefits of upstream updates.
Automatically manage group members on GitLab.com using SCIM
SILVER, GOLD
In the past, group memberships on GitLab.com had to be managed manually. You can now use SAML SSO and manage membership with SCIM to create, delete, and update users on GitLab.com.
This is especially useful for companies with large numbers of users and centralized identity providers. Now you can have a single source of truth like Azure Active Directory and have users created and deleted automatically through the identity provider instead of manually.
Login to GitLab.com through a SAML provider
SILVER, GOLD
Previously, when using SAML SSO for groups, the user had to sign in with GitLab credentials and an identity provider. You can now directly login via SSO as a GitLab user associated with the configured group.
Users won't have to sign in twice, so it's more convenient for companies to use SAML SSO for GitLab.com.
Other improvements in GitLab 11.10
Schema of child epics
ULTIMATE, GOLD
In the previous release, we added child epics (epics of epics) to make it easier for you to manage the quest distribution structure. Child epics are displayed on the parent epic page.
In this release, the parent epic page displays an outline of child epics so teams can see the child epic timeline and can manage time dependencies.
In this release, we're introducing informative screens that pop up when you hover over a merge request link. Previously, we only showed the title of the merge request, but now we also show the status of the merge request, the status of the CI pipeline, and the short URL.
Git workflows for releasing or distributing software often involve multiple long-term branches to bring fixes to previous versions (for example, stable-11-9) or the transition from quality assurance to production (for example, integration), but it's not easy to find merge requests for these branches among the many open merge requests.
The list of merge requests for projects and teams can now be filtered by the target branch of the merge request to make it easier to find the right one.
If we use the Trunk-based development method, we should avoid long-lived branches in favor of small temporary branches with one owner. Small changes are often pushed directly to the target branch, but in doing so, we risk breaking the build.
With this release, GitLab supports new push options to Git to automatically open merge requests, set the target branch, and provide a merge when a pipeline is successfully executed from the command line while pushing to a branch.
GitLab can access multiple Prometheus servers (environment, project, and groups (expected)), but having multiple endpoints can add complexity or not be supported by standard dashboards. With this release, teams can use the same Prometheus API, making it much easier to integrate with services like Grafana.
On a project Wiki, teams can share documentation and other important information along with source code and tasks. In this release, the list of pages in the Wiki can be sorted by creation date and title to quickly find recently created content.
Monitoring resources requested by the cluster
ULTIMATE, GOLD
GitLab helps you monitor your Kubernetes cluster for development and production applications. Starting with this release, monitor the CPU and memory requested by the cluster to notice potential issues before they become problems.
View Load Balancer Metrics in Grafana Dashboard
CORE, STARTER, PREMIUM, ULTIMATE
It is very important to monitor the health of the GitLab instance. We used to provide default dashboards through the built-in Grafana instance. Starting with this release, we have included additional dashboards for monitoring NGINX load balancers.
SAST for Elixir
ULTIMATE, GOLD
We continue to expand language support and deepen security checks. In this release, we have enabled security checks for projects on Elixir and projects created on Phoenix platform.
Multiple queries in one chart
PREMIUM, ULTIMATE, SILVER, GOLD
GitLab allows you to create charts to visualize the metrics you collect. Often - for example, if you need to see the maximum or average value of a metric - you want to display several values ββββon one chart. Starting with this release, you have this option.
We've added Dynamic Application Security Testing (DAST) results to the Team Security Dashboard in addition to SAST, Container Scan, and Dependency Scan.
Adding Metadata to a Container Scan Report
ULTIMATE, GOLD
In this release, the Container Scan Report contains more metadata - we have added affected component (a Clair feature) into the existing metadata: priority, identifier (with a link to mitre.org) and affected level (for example, debian:8).
Adding a metrics report type to merge requests
PREMIUM, ULTIMATE, SILVER, GOLD
GitLab already provides several types of reports that can be included directly in merge requests, from reports about as a code ΠΈ unit testing at the verification stage SAST ΠΈ DAST at the stage of protection.
And although these are important reports, basic information suitable for different scenarios is also needed. In GitLab 11.10, we provide metrics reporting right in the merge request, which expects a simple key-value pair. In this way, users track changes over time, including user metrics, and changes in metrics for a particular merge request. Memory usage, specialized workload testing, and health statuses can be converted into simple metrics that can be viewed directly in merge requests along with other built-in reports.
Support for multi-module Maven projects for dependency scanning
ULTIMATE, GOLD
With this release, Maven multi-module projects support GitLab dependency scanning. Previously, if a submodule had a dependency on another submodule of the same level, it could not be allowed to be loaded from the central Maven repository. Now a multi-module Maven project is created with two modules and a dependency between the two modules. The dependency between sibling modules is now available in the local Maven repository so that the build can continue.
By default, GitLab Runner clones the project to a unique subpath in $CI_BUILDS_DIR. But for some projects, like Golang, the code needs to be cloned into a specific directory in order to be built.
In GitLab 11.10 we introduced the variable GIT_CLONE_PATH, with which you can specify the specific path where GitLab Runner clones the project before executing the task.
GitLab provides several ways protect ΠΈ limit area variables in GitLab CI/CD. But variables can still end up in the build logs intentionally or accidentally.
GitLab takes risk management and auditing seriously and continues to add compliance features. In GitLab 11.10, we introduced the ability to mask some types of variables in job trace logs, adding a layer of protection against accidental entry of the contents of these variables into the logs. And now GitLab automatically masks many built-in token variables.
With Auto DevOps on the GitLab.com project, you can easily tackle modern DevOps workflows from build to delivery.
Starting with GitLab 11.10, you can enable and disable Auto DevOps for all projects in the same group.
Simplified and improved license page
STARTER, PREMIUM, ULTIMATE
To make managing license keys easier and more convenient, we have redesigned the license page in the admin panel and highlighted the most important elements.
Updated shortcut selector for Kubernetes deployments
Deployment panels display details of all Kubernetes deployments.
In this release, we've changed the way labels are mapped to deployments. Matches are now available app.example.com/app ΠΈ app.example.com/env or app. This will avoid filtering conflicts and the risk of incorrect deployments associated with the project.
Kubernetes integration in GitLab allows you to use the RBAC feature with a service account and a dedicated namespace for each GitLab project. Starting with this release, for maximum efficiency, these resources will only be created when needed for deployment.
When deploying Kubernetes, GitLab CI will create these resources before deploying.
Group-level clusters now support installing GitLab Runner. Group-level Kubernetes runners appear as labeled group runners for child projects cluster ΠΈ kubernetes.
Features deployed with GitLab Serverless, now show the number of calls received for a particular function. To do this, you need to install Prometheus on the cluster where Knative is installed.
By default, GitLab Runner executes git clean in the process of unloading code when executing a job in GitLab CI / CD. Starting with GitLab 11.10, users can control the parameters passed to the command git clean. This is useful for teams with dedicated runners, as well as for teams that collect projects from large mono-repositories. Now they can control the upload process before the scripts are executed. New variable GIT_CLEAN_FLAGS default value -ffdx and accepts all possible command parameters [git clean](https://git-scm.com/docs/git-clean).
Secure environments may require an additional external authorization resource to access the project. We have added support for an additional layer of access control in 10.6 and received many requests to open this functionality in Core. We are happy to introduce external authorization and an additional layer of security for Core instances, since this feature is needed by individual participants.
Developer role can create projects in groups since version 10.5, and now it is possible in Core. Project creation is a key productivity feature in GitLab, and with the inclusion of this feature in Core, it's now easier for instance members to do something new.
The full list of changes can be found in the GitLab Runner changelog: CHANGELOG.
Returned fix project_id in the blob search API in Elasticsearch
STARTER, PREMIUM, ULTIMATE
We fixed a bug in Elasticsearch's blob search API that was incorrectly returning 0 for project_id. It will be necessary re-index Elasticsearchto get correct values project_id after installing this version of GitLab.
Omnibus improvements
CORE, STARTER, PREMIUM, ULTIMATE
We have made the following improvements to Omnibus in GitLab 11.10:
GitLab Geo will bring hashed storage to GitLab 12.0
GitLab Geo is required hashed storage to mitigate competition on secondary nodes. This was noted in gitlab-ce#40970.
In GitLab 11.5 we have added this requirement to the Geo documentation: gitlab-ee#8053.
In GitLab 11.6sudo gitlab-rake gitlab:geo:check checks if hashed storage is enabled and if all projects are migrated. Cm. gitlab-ee#8289. If you are using Geo, please run this check and migrate as soon as possible.
In GitLab 11.8 permanently disabled warning gitlab-ee!8433 will be displayed on the page Admin area > Geo > Nodesif the above checks are not allowed.
In GitLab 12.0 Geo will use hashed storage requirements. Cm. gitlab-ee#8690.
Canonical has announced the end of standard support for Ubuntu 14.04 with April 2019 of the year. We advise users to upgrade to a supported LTS version: Ubuntu 16.04 or Ubuntu 18.04.
Deletion date: 22 May 2019 city
Limiting the maximum number of pipelines created by one submission
Previously, GitLab created pipelines for HEAD each branch in the shipment. This is useful for developers who push multiple changes at once (for example, to a feature branch and a develop).
But when pushing a large repository where there are many active branches (for example, to move, mirror or fork), you do not need to create a pipeline for each branch. Starting with GitLab 11.10 we create maximum 4 pipelines when sending.
Deletion date: 22 May 2019 city
GitLab Runner legacy code paths
Since Gitlab 11.9 GitLab Runner uses new method cloning/calling the repository. Currently GitLab Runner will use the old method if the new one is not supported. See more in this task.
In GitLab 11.0, we have changed the metrics server configuration view for GitLab Runner. metrics_server will be removed in favor of listen_address in GitLab 12.0. See more in this task.
These paths will not be available in GitLab 12.0. As a user, you don't need to change anything, just make sure your GitLab instance is running version 11.9+ when you upgrade to GitLab Runner 12.0.
Deletion date: 22th of June 2019
Deprecated option for entry point feature for GitLab Runner
In GitLab 12.0, we will switch to the correct behavior as if the feature setting were disabled. See more in this task.
Deletion date: 22th of June 2019
Deprecated support for a Linux distribution that has reached EOL for GitLab Runner
Some Linux distributions that you can install GitLab Runner on have served their purpose.
In GitLab 12.0, GitLab Runner will no longer distribute packages to these Linux distributions. A complete list of distributions that are no longer supported can be found in our documentation. Thanks to Javier ArdoJavier Jardon) behind his contribution!
GitLab 12.0 launches GitLab Runner with new commands. This only applies to users who override helper image. See more in this task.
Deletion date: 22th of June 2019
Removing the legacy git clean mechanism from GitLab Runner
In GitLab Runner 11.10 we provide an opportunity configure how Runner executes a command git clean. In addition, a new cleanup strategy removes the use git reset and puts the command git clean after the upload step.
Since this behavior change may affect some users, we have prepared a setting FF_USE_LEGACY_GIT_CLEAN_STRATEGY. If you set the value true, it will restore the legacy cleanup strategy. More about using function parameters in GitLab Runner can be found in documentation.
In GitLab Runner 12.0, we will remove support for the legacy cleanup strategy and the ability to restore it using a function parameter. See more in this task.
Deletion date: 22th of June 2019
System Info section in the admin panel
GitLab presents information about your GitLab instance in admin/system_info, but this information may not be accurate.
Free: Unlimited private repositories and unlimited project contributors. Closed projects have access to level features FreeHave open projects have access to level features Gold.
Bronze: for teams that need access to advanced workflow features.
Silver: For teams looking for more robust DevOps capabilities, compliance, and fast support.
Gold: Suitable for many CI/CD jobs. All open projects can use the Gold features for free, regardless of the plan.