GitLab 11.10
- Transfer
GitLab 11.10 with pipelines in the control panel, pipelines for combined results and offers on several lines in the merge requests.
Convenient information about the performance of pipelines in different projects
GitLab continues to increase DevOps lifecycle transparency. In this release , an overview of the status of the pipelines has been added to the control panel .
This is convenient even if you are studying the pipeline of one project, but it is especially useful if there are several projects , and this is usually the case if you use microservices and want to run the pipeline for testing and delivering code from different project repositories. Now you immediately see the functionality of the pipelines on the control panel , wherever they are executed.
Running pipelines for combined results
Over time, the source and target branches diverge, and a situation may arise when individually they cope, but do not work together. Now you can run the pipelines for the combined results to the merge . So you will quickly notice errors that would only occur if the changes were often moved between branches, which means that you will fix the pipeline errors much faster and will use GitLab Runner more efficiently .
Further collaboration optimization
GitLab 11.10 has even more features for easy collaboration and simplified workflows. In the previous issue, we introduced proposals for merge requests, when the reviewer could propose a change in one line in the comment to the merge request, and it could be immediately committed directly from the comment thread. Our users liked this, and they asked to expand this feature. Now you can suggest changes for several lines , indicating which lines to delete and which to add.
Thanks for your feedback and suggestions!
And that is not all...
This release has so many awesome features, such as shortcuts in a specific area , a more thorough cleaning of the container registry , composable Auto DevOps, and the ability to buy additional minutes of CI Runner . Below are details about each of them.
The most valuable employee of the month ( MVP ) - Takuya Noguchi
This month became the most valuable employee Takuya Noguchi ( Takuya Noguchi ). Takuya did a good job for the glory of GitLab : fixed bugs, completed bugs in the backend and frontend, and improved the user interface. Thank!
Main features of GitLab 11.10
Pipelines on the control panel
PREMIUM, ULTIMATE, SILVER, GOLD
The control panel in GitLab displays project information for the entire GitLab instance. You add individual projects one at a time and you can choose which project interests you.
In this issue, we added information about the status of the pipelines to the control panel. Now developers see the functionality of the pipelines in all the necessary projects - in one interface.
Pipelines for combined results
PREMIUM, ULTIMATE, SILVER, GOLD
Usually, over time, the source branch deviates from the target branch if you do not constantly move changes between them. As a result, the source and target branch pipelines are “green” and there are no merge conflicts, but merging fails due to incompatible changes.
When the payline of the merge requests automatically creates a new link that contains the combined result of the merge of the source and target branches, we can run the pipe line by this link and ensure that the overall result is working.
If you use merge request pipelines (in any quality) and use private GitLab runners version 11.8 or later, you need to update them so that gitlab-ee # 11122 does not occur . This does not affect users of publicly available GitLab runners.
Suggesting changes in multiple lines
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
When working together on merge requests, you often notice problems and propose solutions. Since GitLab version 11.6, we support the suggestion of changes for one line.
In version 11.10, in the comments to the diff request of the merge request, you can suggest changes for several lines, and then any user with write permissions to the original branch can accept them with one click. Thanks to the new feature, copy-paste can be avoided, as in previous versions.
Shortcuts in one area
PREMIUM, ULTIMATE, SILVER, GOLD
With labels in one area, teams can use mutually exclusive labels (in the same area) for a task, 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 track the operating system of the platform your functions are aimed at. Each task should relate to only one platform. You can create shortcuts platform::iOS
, platform::Android
, platform::Linux
and others as needed. If you apply one such shortcut to a task, another existing shortcut that starts with is automatically deleted platform::
.
Suppose you have shortcuts workflow::development
, workflow::review
and workflow::deployed
that indicate the status of the workflow in your team. If the task already has a shortcut workflow::development
, and the developer wants to transfer the task to the stage workflow::review
, he simply applies the new shortcut, and the old ( workflow::development
) is automatically deleted. This behavior already exists when you move tasks between shortcut lists on the task board, which represents the workflow of your team. Now team members who do not work directly with the task board can change the state of the workflow in the tasks themselves.
More thorough cleaning of the container registry
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
In the normal use of the container registry with CI pipelines, you send several separate changes to a single tag. Due to the implementation of the Docker distribution, the default behavior is to save all changes to the system, but in the end they take up a lot of memory. If you use option -m
c registry-garbage-collect
, you can quickly delete all previous changes and free up precious space.
Buying More Minutes CI Runner
BRONZE, SILVER, GOLD
Users with GitLab.com paid plans (Gold, Silver, Bronze) can now buy additional CI Runner minutes. Previously, it was necessary to fit into the quota stipulated by the plan. Thanks to this improvement, you can pre-buy minutes in excess of the quota in order to avoid interruptions in work due to stopping pipelines.
Now 1000 minutes cost $ 8, and you can buy them as much as you like. Additional minutes will begin to be spent when you spend the entire monthly quota, and the rest of the additional minutes is carried over to the next month. In a future release, we want to add this feature to free plans.
Linkable Auto DevOps
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
With Auto DevOps, teams are transitioning to modern DevOps practices almost effortlessly. Starting with GitLab 11.10, each job in Auto DevOps is provided as an independent template . Users can use функцию includes
GitLab CI to enable individual Auto DevOps stages and use their custom file gitlab-ci.yml
. In this way, you can include only the right job and take advantage of the updates in upstream.
Automatically manage groups on GitLab.com using SCIM
SILVER, GOLD
Previously, you had to manage groups on GitLab.com manually. Now you can use SAML SSO and manage groups using SCIM to create, delete, and update users on GitLab.com.
This is especially useful for companies with a large number of users and centralized identity providers. You can now have a single source of truth, such as Azure Active Directory, and users will be created and deleted automatically through the identity provider, rather than manually.
Login to GitLab.com through the SAML Provider
SILVER, GOLD
Previously, when using SAML SSO for groups, the user had to log in with GitLab credentials and an identity provider. Now you can log in directly through SSO as a GitLab user tied to a configured group.
Users don’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
Diagram of child epics
ULTIMATE, GOLD
In the previous issue, we added child epics (epic epics) to make it easier for you to manage the distribution structure of tasks. Child epics are displayed on the parent epic page.
In this issue, the parent epic page displays a diagram of the child epics, so teams see the history of the child epics and can manage time dependencies.
Marge request popup screens
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
In this issue, we present informative screens that pop up when you hover over the merge request link. Previously, we showed only the merge request title, and now also the merge request status, CI pipeline status and short URL.
In future releases, we plan to add more important information, for example, responsible persons and control points , and also introduce pop-up screens for tasks .
Filtering merge requests by target branches
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Git workflows for releasing or delivering software are often associated with several long-term branches - to make corrections to previous versions (for example stable-11-9
) or to switch from quality control to production (for example integration
), but it’s not so easy to find merge requests for these branches among the many open merge requests.
The list of merge requests for projects and groups can now be filtered by the target branch of the merge request to make it easier to find the one you need.
Thank you, Hiroyuki Sato ( Hiroyuki Sato )!
Sending and merge on successful pipeline
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
If we use the Trunk-based development development method, we should avoid long-lived branches in favor of small temporary single-owner branches. Minor changes are often sent directly to the target branch, but at the same time we risk breaking the assembly.
In this release, GitLab supports new submit options in Git to automatically open merge requests, set a target branch, and provide a merge upon successful pipeline from a command line while sending to a branch.
Improved integration with external dashboards
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
GitLab can access multiple Prometheus servers (at the environment, project, and group level (expected) ), but having multiple endpoints may complicate the system or may not be supported by standard dashboards. In this release, teams can use the same Prometheus API, which greatly simplifies integration with services such as Grafana.
Sort Wiki pages by creation date
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
In the project wiki, teams can share documentation and other important information along with source code and tasks. In this release, the list of pages on the Wiki can be sorted by creation date and title to quickly find newly created content.
Monitoring resources requested by the cluster
ULTIMATE, GOLD
GitLab helps monitor the Kubernetes cluster for development and production applications. Beginning with this release, keep track of the processor resources and memory requested by the cluster to notice potential difficulties before they become problems.
View load balancer metrics in the Grafana dashboard
CORE, STARTER, PREMIUM, ULTIMATE
It is very important to monitor the health of the GitLab instance. Previously, we provided dashboards by default through an embedded instance of Grafana. Starting with this release, we have included additional panels 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 included security checks for projects on Elixir and projects built on the Phoenix platform .
Multiple Queries in One Chart
PREMIUM, ULTIMATE, SILVER, GOLD
In GitLab, you can create charts to visualize the metrics you collect. Often - for example, if you need to look at the maximum or average value of a metric - you want to display several values on one diagram. Starting with this release, you have the opportunity.
DAST Results in Group Security Dashboard
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
We have added Dynamic Application Security Testing (DAST) results to the group’s security panel in addition to SAST, container scans, and dependency scans.
Add metadata to container scan report
ULTIMATE, GOLD
In this issue, the container scan report contains more metadata - we added the affected component (Clair feature) to the existing metadata: priority, identifier (with reference to mitre.org) and the affected level (for example, debian: 8).
Adding a metric report type to merge requests
PREMIUM, ULTIMATE, SILVER, GOLD
GitLab already provides several types of reports that can be included directly in the merge requests: from reports on code quality and unit testing at the verification stage to SAST and DAST at the protection stage.
Although these are important reports, basic information suitable for different scenarios is also needed. In GitLab 11.10, we provide metric reports directly in the merge request, which expects a simple key-value pair. In this way, users track changes over time, including custom metrics, and metric changes for a specific merge request. Memory usage, testing of specialized loads and health statuses can be converted into simple metrics that can be viewed directly in the merge requests along with other built-in reports.
Support for Maven multi-module dependency scanning projects
ULTIMATE, GOLD
In 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 allow downloading from the central Maven repository. Now the Maven multi-module project is created with two modules and a dependency between the two modules. The dependency between modules of the same level is now available in the local Maven repository so that the build can continue.
Users can change the path for cloning in CI
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
By default, GitLab Runner clones a project into a unique nested path in $CI_BUILDS_DIR
. But for some projects, such as Golang, the code needs to be cloned into a specific directory so that it can be assembled.
In GitLab 11.10, we introduced a variable GIT_CLONE_PATH
with which you can specify the specific path where the GitLab Runner clones the project before the task is completed.
Simple masking of protected variables in logs
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
GitLab provides several ways to protect and limit the scope of variables in a GitLab CI / CD. But variables can still intentionally or accidentally get into assembly logs.
GitLab is serious about risk management and auditing and continues to add features to comply with the requirements. In GitLab 11.10, we introduced the ability to mask some types of variables in the job trace logs, adding a level of protection against accidentally dropping the contents of these variables into the logs. And GitLab now automatically disguises many of the built-in token variables.
Enabling and disabling Auto DevOps at the group level
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
With Auto DevOps in the GitLab.com project, you can take on the modern DevOps workflows from assembly to delivery without any hassle.
Starting with GitLab 11.10, you can enable and disable Auto DevOps for all projects in one group.
Simplified and improved license page
STARTER, PREMIUM, ULTIMATE
To manage the license keys was more convenient and simpler, we changed the design of the license page in the admin panel and highlighted the most important elements.
Updated Labels for Deployments in Kubernetes Cluster
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Deployment boards provide insight into deployments in the Kubernetes cluster.
In this release, we have changed the method by which labels relate to deploys. Deployment boards are now looking for a label app.example.com/app
and app.example.com/env
or app
. This will avoid conflicts during filtering and reduce the risk of incorrect samples of deployments for display on boards.
In addition, in GitLab version 12.0, we plan to abandon support for the app label from the Kubernetes deployment selector , and a match will be possible only by app.example.com/app
and app.example.com/env
.
Kubernetes Resource Creation Dynamically
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Kubernetes integration into GitLab allows you to use the RBAC function with a service account and a dedicated namespace for each GitLab project. Starting with this release, for maximum effectiveness, these resources will be created only when needed for a deployment.
When deploying Kubernetes, GitLab CI will create these resources before the deployment.
Group runners for cluster-level clusters
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Group-level clusters now support the installation of GitLab Runner. Group level Kubernetes runners appear for child projects as group runners, labeled cluster
and kubernetes
.
Call counter for Knative functions
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Functions deployed with GitLab Serverless now show the number of calls received for a single function. To do this, install Prometheus on the cluster where Knative is installed.
Parameter Control git clean
for GitLab CI / CD Jobs
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
By default, the GitLab Runner executes git clean
during code unloading when executing a job in the GitLab CI / CD. Starting with GitLab 11.10, users can control the parameters passed to the command git clean
. This is convenient 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 executing scripts. The new variable GIT_CLEAN_FLAGS
defaults to -ffdx
and accepts all possible command parameters [git clean](https://git-scm.com/docs/git-clean)
.
External authorization in Core
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Protected environments may require an additional external authorization resource to access the project. We added support for an additional level of access control in 10.6 and received many requests to open this functionality in Core. We are pleased to introduce external authorization and an additional level of security for Core instances, since this feature is needed by individual participants.
Ability to create projects in groups in Core
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
The Developer role can create projects in groups since version 10.5 , and now it is possible in Core. Creating projects is a key opportunity for productive work in GitLab, and thanks to the inclusion of this feature in Core, instance participants are now easier to do something new.
GitLab Runner 11.10
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Today we released GitLab Runner 11.10! GitLab Runner is an open source project that is used to run CI / CD jobs and send results back to GitLab.
The most interesting changes:
- Parameter for specifying the cloning path .
Улучшенная поддержка git clean
.- Ability to disable debug tracing .
- Using deferred variable extension to check errors in Windows Cmd .
- Correction of color output in Windows .
A complete list of changes can be found in the GitLab Runner change log: CHANGELOG .
Fix project_id
blob returned API in Elasticsearch
STARTER, PREMIUM, ULTIMATE
We fixed a bug in the blob search API in Elasticsearch, which erroneously returned 0 for project_id
. You will need to reindex Elasticsearch to get the correct values project_id
after installing this version of GitLab.
Omnibus Enhancements
CORE, STARTER, PREMIUM, ULTIMATE
We made the following improvements to Omnibus in GitLab 11.10:
- GitLab 11.10 includes Mattermost 5.9.0 , an open source alternative to Slack , the latest release of which includes a new integration directory for easy data transfer from Hipchat and much more. This version includes security updates , and we recommend updating.
- We integrated Grafana with Omnibus , and now it's easy to start monitoring an instance of GitLab.
- We have added support for removing old container images from the Docker registry.
- We updated ca-certs to 2019-01-23.
Performance enhancements
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
We continue to improve GitLab performance with each release for GitLab instances of any size. Some improvements in GitLab 11.10:
- User autocompletion is now faster .
- Optimized SQL queries to display project tasks when searching .
- Elasticsearch search results no longer include Gitaly .
- GraphQL queries now have a complexity limit .
- Instrumentation for diffs is disabled to improve the performance of merge requests when Prometheus is enabled .
- Improved GitHub pool request import performance .
- Search for commits in the cache by link name .
- Improved the performance of diffs of merge requests - now blob diff files are remembered .
Improving GitLab Charts
CORE, STARTER, PREMIUM, ULTIMATE
We have made the following improvements to GitLab charts:
Deprecated Features
GitLab Geo will provide hashed storage in GitLab 12.0
GitLab Geo requires hashed storage to mitigate competition on secondary nodes. This has been noted in gitlab-ce # 40970 .
In GitLab 11.5, we added this requirement to the Geo documentation: gitlab-ee # 8053 .
In GitLab 11.6, itsudo gitlab-rake gitlab:geo:check
checks whether hashed storage is enabled and if all projects are migrated. See gitlab-ee # 8289 . If you are using Geo, please run this check and migrate as soon as possible.
In GitLab 11.8, the permanently disabled gitlab-ee! 8433 warning will be displayed on the Admin Area › Geo › Nodes page if the above checks are not allowed.
In GitLab 12.0, Geo will use hashed storage requirements. See gitlab-ee # 8690 .
Date of deletion: June 22, 2019
Ubuntu 14.04 Support
GitLab 11.10 will be the latest release with support for Ubuntu 14.04 .
Canonical announced the termination of standard support for Ubuntu 14.04 from April 2019 . We advise users to upgrade to a supported version of LTS: Ubuntu 16.04 or Ubuntu 18.04.
Delete date: May 22, 2019
Limit the maximum number of pipelines created by one submission
GitLab used to create pipelines for HEAD
each branch in the submission. This is convenient for developers who submit several changes at once (for example, to the feature branch and the branch develop
).
But when sending a large repository, where there are many active branches (for example, for moving, mirroring or branching), you do not need to create a pipeline for each branch. Starting with GitLab 11.10, we create a maximum of 4 pipes during submission.
Delete date: May 22, 2019
Legacy GitLab Runner Code Legacy Paths
Starting with Gitlab 11.9, GitLab Runner uses a new repository cloning / invocation method . Currently, GitLab Runner will use the old method if the new one is not supported. See this task for more details .
In GitLab 11.0, we changed the look of the metric server configuration for GitLab Runner. metrics_server
will be removed in favor listen_address
of GitLab 12.0. See this task for more details .
In version 11.3, GitLab Runner began supporting several cache providers ; which led to new settings for a specific S3 configuration . The documentation contains a table of changes and instructions for moving to a new configuration. See this task for more details .
These paths will not be available in GitLab 12.0. As a user, you do not need to change anything, just make sure that the GitLab instance works with version 11.9+ when upgrading to GitLab Runner 12.0.
Date of deletion: June 22, 2019
Deprecated Entry Point Feature for GitLab Runner
In 11.4, the GitLab Runner introduces a feature setting FF_K8S_USE_ENTRYPOINT_OVER_COMMAND
to fix issues like # 2338 and # 3536 .
In GitLab 12.0, we will switch to the correct behavior, as if the feature parameter was disabled. See this task for more details .
Date of deletion: June 22, 2019
Deprecated Linux Distribution Reaching EOL for GitLab Runner
Some Linux distributions into which you can install GitLab Runner have served theirs.
In GitLab 12.0, GitLab Runner will no longer distribute packages to such Linux distributions. A complete list of distributions that are no longer supported can be found in our documentation . Thanks to Javier Jardón for his contribution !
Date of deletion: June 22, 2019
Removing Old GitLab Runner Helper Commands
As part of efforts to support Windows, the Docker executor had to abandon some of the old commands that are used for helper image .
In GitLab 12.0, GitLab Runner starts with new commands. This only applies to users who override helper image . See this task for more details .
Date of deletion: June 22, 2019
Removing legacy git clean mechanism from GitLab Runner
In GitLab Runner 11.10, we provide the ability to customize how Runner executes a command git clean
. In addition, a new cleanup strategy removes usage git reset
and places the command git clean
after the upload step.
Since this change in behavior may affect some users, we have prepared a parameter FF_USE_LEGACY_GIT_CLEAN_STRATEGY
. If set true
, it will restore the legacy cleanup strategy. More about using function parameters in GitLab Runner can be found in the 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 this task for more details .
Date of deletion: June 22, 2019
System Info section in the admin panel
GitLab provides information about your GitLab instance admin/system_info
, but this information may not be accurate.
We will remove this section of the admin panel in GitLab 12.0 and recommend using other monitoring features .
Date of deletion: June 22, 2019
Change Log
Look for all these changes in the change log:
Installation
If you are setting up a new installation of GitLab, visit the GitLab download page .
Update
Check out the update page .
GitLab Subscription Plans
GitLab is available in two versions: self-managed and cloud-based SaaS .
Self-managed : locally or on your preferred cloud platform.
- Core : for small teams, personal projects or a trial version of GitLab for an unlimited period.
- Starter : for teams working in the same office on several projects that need professional support.
- Premium : for distributed teams that need advanced features, high availability and 24/7 support.
- Ultimate : For businesses that need a solid strategy and implementation with enhanced security and compliance.
Cloud SaaS - GitLab.com : Hosted , managed, and administered by GitLab with free and paid subscriptions for individual developers and teams.
- Free : unlimited private repositories and an unlimited number of project participants. Closed projects have access to features of the Free level , open projects have access to features of the Gold level .
- Bronze : for teams that need access to advanced workflow features.
- Silver : For teams that need more robust DevOps capabilities, compliance and fast support.
- Gold : Suitable for many CI / CD jobs. All open source projects can use Gold features for free, regardless of the plan.