[Translation] GitLab 11.10

[Translation] GitLab 11.10



GitLab 11.10 with control panel pipelines, pipelines for combined results, and multiple-line sentences in Merge Requests.


Convenient information about the performance of the pipelines in different projects


GitLab continues to increase the transparency of the DevOps life cycle. In this release, the control panel has added an overview of the status of the pipelines.


This is convenient even if you are studying a single project pipeline, but it is especially useful if there are several projects , - and this is usually the case if you use microservices and want to start the pipeline for testing and delivering code from different project repositories. Now you immediately see the operability of the control panel pipelines , wherever they are.


Run pipelines for combined results


Over time, the source and target branches diverge, and there may be a situation when, separately, they cope and do not work together. Now you can GitLab Runner .


Further optimization of collaboration


GitLab 11.10 has even more possibilities for easy collaboration and simplified workflows. In the previous issue we introduced proposals for merge requests, when the reviewer could suggest a single line change in the comment to the merge-requester, and it could be immediately committed directly from the comment thread. Our users liked it, and they asked to expand this feature. Now you can offer And that's not all ...

There are so many amazing features in this release, for example, labels in a specific area , more thorough container registry cleaning , composable by Auto DevOps and the ability to buy additional tional minutes CI Runner . Below are the details about each of them.


The Most Valuable Employee of the Month ( MVP ) - Takuya Noguti

This month, Takuya Noguchi ( Takuya Noguchi ) became the most valuable employee. Takuya did a good job with GitLab: : fixed bugs, completed flaws in backend and frontend, and improved user interface. Thank you!

GitLab 11.10 main features


Pipelines on the control panel


PREMIUM, ULTIMATE, SILVER, GOLD


The control panel in GitLab displays information about projects on the entire GitLab instance. You add individual projects one by one and you can choose which project interests you.
In this release, we added information about the status of the pipelines to the control panel. Now developers see the efficiency 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, unless you constantly move changes between them. As a result, the source and target pipelines of the “green” branches and merge conflicts do not occur, but the merge fails due to incompatibility of changes.


When the Merge Requests Pipeline automatically creates a new link that contains the merged result of the source and target branches, we can launch the pipeline through this link and ensure that the overall result will be working.


If you are using Merge Requests pipelines (in any capacity) and use private GitLab runners of version 11.8 or later, they need to be updated so that gitlab-ee # 11122 . This does not affect users of public GitLab-runners.



Proposing changes in several lines


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


When you collaborate on Merge Requests, you often notice problems and suggest solutions. With GitLab 11.6, we support the change suggestion for one line .


In version 11.10, in the comments to the diff-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, you can avoid copy-paste, as in previous versions.



Labels in the same area


PREMIUM, ULTIMATE, SILVER, GOLD


With labels in the same 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 a special syntax with a colon in the label header.


Suppose you need a custom field in tasks to track the operating system of the platform that your functions are aimed at. Each task should relate to only one platform. You can create shortcuts for platform :: iOS , platform :: Android , platform :: Linux , and others as needed. If you apply one such shortcut to the task, the other existing shortcut that starts with platform :: is automatically removed.


Suppose you have workflow :: development , workflow :: review , and workflow :: deployed labels to indicate the status of the workflow in your team. If the task already has a workflow :: development label, and the developer wants to transfer the task to the workflow :: review stage, he simply applies the new label, and the old one ( workflow:: development ) is automatically deleted. This behavior already exists when you move tasks between lists of shortcuts 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 normal use of the registry of containers 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 in the system, but in the end they take up a lot of memory. If you use the -m parameter with registry-garbage-collect , you can quickly remove all previous changes and free up valuable space.



Purchase additional 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 keep within the quota stipulated by the plan. Thanks to this improvement, it is possible to buy minutes in excess of the quota in order to avoid interruptions in work due to the shutdown of the pipelines.


Now 1000 minutes cost 8 dollars, and you can buy as many as you like. Additional minutes will begin to be spent when you spend the entire monthly quota, and the balance of the additional minutes is transferred to the next month. In the future release we want to add this feature to free plans.



Compiled by Auto DevOps


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


With Auto DevOps, teams move to modern DevOps practices almost effortlessly. Starting from GitLab 11.10, every job in Auto DevOps is provided in the form of a independent template . Users can use includes function in GitLab CI to include individual Auto DevOps stages and at the same time use your custom gitlab-ci.yml file. Thus, you can include only the necessary jobs and enjoy the benefits of upgrades in upstream.



Automatic management of groups on GitLab.com using SCIM


SILVER, GOLD


Previously, you had to manually manage groups on GitLab.com. You can now 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. Now you can have a single source of truth, such as Azure Active Directory, and users will be created and deleted automatically through an identity provider, rather than manually.



Login to GitLab.com through the supplier SAML


SILVER, GOLD


Previously, when using SAML SSO for groups, the user had to log in with GitLab credentials and an identity provider. You can now directly log in via SSO as a GitLab user associated with a configured group.


Users will not have to log in twice, so companies are more comfortable using SAML SSO for GitLab.com.



Other improvements in GitLab 11.10


Scheme of child epics


ULTIMATE, GOLD


In the previous issue, we added child epics (epic epics) to make it easier for you to manage the structure of the distribution of tasks. Child epics are displayed on the page of the parent epic.


In this release, a diagram of child epics is displayed on the parental epic page, so teams see the chronology of child epics and can manage time dependencies.



Merge request pop-up screens


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


In this issue, we present informative screens that pop up when you hover over a Merge Request link. Previously, we showed only the header of the merge-requester, and now also the status of the merge-requester, the status of the CI pipeline and the 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 .



Filtration of merge requests on target branches


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


Git workflows for software release or delivery are often associated with several long-term branches — to make corrections to previous versions (for example, stable-11-9 ) or to move 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 Merge Requests target branch to make it easier to find the right one.


Thank you, Hiroyuki Sato ( Hiroyuki Sato )!



Dispatch and merge with a 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 one-owner temporary branches. Minor changes are often sent directly to the target branch, but at the same time we risk breaking the build.


In this release, GitLab supports new send options to Git to automatically open merge requesting, set the target branch and ensure merge when the pipeline is successful from the command line when sending to the 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 groups (expected) ), but having multiple endpoints may complicate the system or not be supported by standard monitoring panels. 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 a project's 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. Starting with this release, keep track of the processor resources and memory requested by the cluster to notice potential difficulties until they become problems.



View the load balancer metrics on the Grafana dashboard


CORE, STARTER, PREMIUM, ULTIMATE


It is very important to monitor the health of the GitLab instance. Previously, we provided default dashboards through the built-in 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 enabled security checks for projects on Elixir and projects created on phoenix platform .


Multiple queries in one diagram


PREMIUM, ULTIMATE, SILVER, GOLD


In GitLab, you can create charts to visualize metrics that are collected. Often, for example, if you want to see the maximum or average value of a metric, you want to display several values ​​in one diagram. Starting with this release, you have this opportunity.


DAST results in the security panel of the group


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


We added the results of Dynamic Application Security Testing (DAST) to the group security panel in addition to SAST, container scanning and dependency scanning.


Add metadata to the container scan report


ULTIMATE, GOLD


In this release, the container scan report contains more metadata — we added a affected component (Clair feature) to existing metadata: priority, identifier (with reference to mitre.org) and the affected level (for example , debian: 8).


Adding a report type by metrics to Merge Requests


PREMIUM, ULTIMATE, SILVER, GOLD


GitLab already provides several types of reports that can be included directly in Merge Requests: from reports code quality and unit testing during the verification phase before SAST and DAST at the stage of protection.


And while these are important reports, basic information suitable for different scenarios is also needed. In GitLab 11.10, we provide metrics reports right in the merge requester, which expects a simple key-value pair. In this way, users track changes over time, including user metrics, and changes in metrics for a specific merge-quest. Memory usage, testing of specialized loads and health status can be converted to simple metrics that can be viewed directly in Merge Requests along with other embedded reports.


Support for multi-module Maven projects for dependency scanning


ULTIMATE, GOLD


In this release, Maven multimodule projects support GitLab dependency scanning. Previously, if a submodule had a dependency on another submodule of the same level, it could not allow the download from the central Maven repository. Now the Maven multi-module project is created with two modules and a dependency between 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 compiled.


In GitLab 11.10, we entered the GIT_CLONE_PATH variable, with which you can specify a specific path where GitLab Runner clones the project before performing the task.


Simple masking of protected variables in the logs


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


GitLab provides several ways to protect and limit the range of variables in GitLab CI/CD. But variables can still intentionally or accidentally get into the build logs.


GitLab is serious about risk management and auditing and continues to add features to comply. In GitLab 11.10, we introduced the ability to mask certain types of variables in the job trace logs by adding a level of protection against accidental content of these variables in the logs. And GitLab now automatically masks many built-in token variables.


Enable or disable 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 up modern DevOps workflows without unnecessary trouble - from assembly to delivery.


Starting from 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 easier, we changed the design of the license page in the admin panel and highlighted the most important elements.



Updating the shortcut selector for Kubernetes deployments


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


Deployment panels display information on all Kubernetes deployments.


In this issue, we’ve changed the way in which labels are mapped to deployments. Now matches are available for app.example.com/app and app.example.com/env or app . This will avoid filtering conflicts and the risk of incorrect deployment of the project.


Also, in GitLab 12.0, we will remove the app label from the Kubernetes Deploy Selector , and matching will be possible only by app.example.com/app and app.example.com/env .


Dynamic Kubernetes Resource Creation


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


The integration of Kubernetes into GitLab allows you to use the RBAC function using a service account and a dedicated namespace for each GitLab project. Starting with this release, for maximum efficiency, these resources will be created only when needed for deployment.


With Kubernetes Deploy, GitLab CI will create these resources before Deploy.


Group runners for group-level clusters


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


Group-level clusters now support the installation of GitLab Runner. At the group level, Kubernetes runners are displayed 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 from GitLab Serverless now show the number of calls received for a particular function. To do this, install Prometheus on the cluster where Knative is installed.



Control of git clean parameters for GitLab CI/CD


CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


By default, GitLab Runner performs git clean in the process of unloading code when running the job in GitLab CI/CD. Starting from GitLab 11.10, users can control the parameters passed to the git clean command. This is convenient for teams with dedicated runners, as well as for teams that collect projects from large mono-repositories. Now they can manage the upload process before executing the scripts. The new GIT_CLEAN_FLAGS variable defaults to -ffdx and accepts all possible parameters of the [git clean] command (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 provide 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 , but now it is possible and in core. Creating projects is a key opportunity for productive work in GitLab, and thanks to the inclusion of this feature in Core, it is now easier for the instance team 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 the results back to GitLab.


The most interesting changes:



A complete list of changes can be found in the GitLab Runner change log: CHANGELOG .


Fix the return project_id in the blob search API in Elasticsearch


STARTER, PREMIUM, ULTIMATE


We fixed a bug in the blob search API in Elasticsearch, which mistakenly returned 0 for project_id . You will need to reindex Elasticsearch to get the right ones the values ​​of project_id after installing this version of GitLab.


Omnibus Improvements


CORE, STARTER, PREMIUM, ULTIMATE


We made the following improvements to Omnibus in GitLab 11.10:



Performance Improvements


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:



Improving GitLab diagrams


CORE, STARTER, PREMIUM, ULTIMATE


We have made the following improvements to the GitLab diagrams:



Obsolete features


GitLab Geo will provide hash storage in GitLab 12.0


GitLab Geo requires hashed storage to mitigate the competition on secondary nodes. This was noted in gitlab-ce # 40970 .


In GitLab, 11.5 we added this requirement to the Geo documentation: gitlab-ee # 8053 .


In GitLab 11.6 sudo gitlab-rake gitlab: geo: check checks if hashed storage is enabled and 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 constantly disabled warning gitlab-ee! 8433 will be displayed on the Admin Area Geo page Nodes if the above checks are not allowed.


In GitLab, 12.0 Geo will use hash storage requirements. See gitlab-ee # 8690 .

Deletion date: June 22, 2019


Support for Ubuntu 14.04


GitLab 11.10 will be the latest release with Ubuntu 14.04 support .


Canonical announced the end 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.


Date of deletion: May 22, 2019.


Limiting the maximum number of pipelines created by a single shipment


Previously, GitLab created pipelines for HEAD for each branch in the post. This is convenient for developers who send several changes at once (for example, to the feature branch and to the develop branch).


But when sending a large repository, where there are many active branches (for example, to move, mirror or branch), you do not need to create a pipeline for each branch. Starting from GitLab 11.10, we create a maximum of 4 pipelines when sending.


Date of deletion: May 22, 2019.


Outdated legacy paths of the GitLab Runner code


Starting with Gitlab 11.9, GitLab Runner uses new method of cloning/calling a repository. Currently GitLab Runner will use the old method if the new one is not supported. Learn more in this task .


In GitLab 11.0, we changed the configuration of the metrics server for GitLab Runner. metrics_server will be removed in favor of listen_address in GitLab 12.0. Learn more in this task .


In version 11.3, GitLab Runner began to support several cache providers ; which led to new settings for specific S3 configuration . The documentation provides a table of changes and instructions for migrating to a new configuration. Learn more in this task .


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.


Obsolete option for the feature of the entry point for GitLab Runner


In 11.4 GitLab Runner, the feature is 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 was turned off. Learn more in this task .


Date of deletion: June 22, 2019.


Outdated support for the Linux distribution, which has reached EOL, for GitLab Runner


Some Linux distributions in which you can install GitLab Runner have served their own.


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 Ardo ( Javier Jardón ) for his contribution !


Date of deletion: June 22, 2019.


Remove old GitLab Runner Helper commands


As part of the effort to support Windows Docker executor had to abandon some of the old commands that are used for helper image .


In GitLab 12.0, GitLab Runner is launched using new commands. This applies only to users who redefine the helper image . Learn more in this task .


Date of deletion: June 22, 2019.


Remove the legacy git clean mechanism from GitLab Runner


In GitLab Runner 11.10 we provide the ability to configure how Runner executes the git command clean . In addition, the new cleanup strategy removes the use of git reset and places the git clean command after the upload step.


Since this change in behavior may affect some users, we have prepared the FF_USE_LEGACY_GIT_CLEAN_STRATEGY parameter. If set to true , it will restore the legacy cleanup strategy. For more on using function parameters in GitLab Runner, you can find in the documentation .


In GitLab Runner 12.0, we will remove support for the legacy cleaning strategy and the ability to restore it using the function parameter. Learn more in this task .


Date of deletion: June 22, 2019


System Info section in the admin panel


GitLab represents information about your GitLab instance in admin/system_info , but this information may not be accurate.


We will delete this section of the admin panel in GitLab 12.0 and recommend using other monitoring capabilities .


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 GitLab installation, visit the GitLab download page .

< br/>

Update


Check out the update page .


GitLab Subscription Plans


GitLab is available in two versions: self-managed and Cloud SaaS .


Self-managed : locally or on a 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 multiple projects that need professional support.
  • Premium : for distributed teams that need advanced features, high availability, and around-the-clock support.
  • Ultimate : for businesses that need a reliable strategy and implementation with improved security and compliance.

Cloud SaaS - GitLab.com : hosted, managed and administered by GitLab 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 Free features, open projects have access to Gold .
  • Bronze : for teams that need access to advanced features of the workflow.
  • Silver : for teams that need more reliable DevOps capabilities, compliance and fast support.
  • Gold : suitable for many jobs CI/CD. All open projects can use Gold features for free regardless of the plan.

Source text: [Translation] GitLab 11.10