📜 ⬆️ ⬇️

GitLab 11.4 released with a review of merge-requests and pluggable features

Picture to attract attention


We are pleased to present a new release of GitLab 11.4 with long-awaited updates designed to help teams work more efficiently. Most teams that use DevOps tend to shorten the delivery cycle time. Therefore, developers are always happy to improve, which will reduce the amount of work and loss in time, because this accelerates the delivery of the product and improves business performance.


With GitLab 11.4, we make the code review more efficient due to the Merge Requests review and the file tree for changes ; We also present an alpha version of pluggable features (feature flags, feature toggle) . Auto DevOps and CI work better in conjunction with PostgreSQL database migration and incremental scheduled deployment . Even Git is now faster with Git v2 support.


Code Review


The Merge Requests Review will help streamline comments on the code and Merge Requests. Batch comments (batch comments) allows the reviewer to write comments on the code or merge-request and then arrange and send them in one package, and now tracking changes in the project has become easier.


The key step to delivering a high quality code is to choose the right people who review and confirm changes in the code. Taking the owners of the code entered in release 11.3 ( original article , translation ) as a basis, GitLab now offers those who have been indicated in the CODEOWNERS file as reviewers and confirmations for merge requisition. Thus, review and confirmation of changes will be carried out faster and more efficiently. This is also useful for separating roles and responsibilities in a team, for example, if you need specific reviders for specific parts of the code.


The presentation of the Merge-Request changes in the form of a file tree also makes it easier for the reviewers to view the many changed files and provide their feedback.


Russell Levy, one of the founders and technical director of Chorus.ai , told how the review of merge-requests and the tree view of files help their team:


We conduct code review very carefully and usually write 10–20 comments on the average merge requester, and for some of them several iterations of discussions arise. Review of Merge Requests reduces chaos and hitch during the review code process.

For large merge-requests, the new representation of changes in the form of the file tree greatly facilitates and speeds up the review, allowing you to easily navigate through the code to understand the dependencies.

Pluggable features


We present the alpha version of the functionality switching system - plugin features . Now teams can practice continuous delivery (delivery), adding new features to production in small batches, reducing the risk before full deployment.


Improvements for Auto DevOps and CI / CD


We display the ability to .gitlab-ci.yml using include from the Starter plan to the Core plan, making it available to all users. All teams can now take advantage of this best practice and more effectively manage their CI / CD pipelines.


And more improvements.


Together with the huge GitLab community in this release, we have added a lot of amazing improvements, including a new profile page view, quick access to status, highlighting @ references, new quick actions, and the ability to close epics.


Read on and you’ll learn about all the new features of GitLab 11.4.


We invite you to our meetings and webcast release 11.4 .


GitLab MVP badge


This month's MVP is Luke Picciau


Luke added the ability to download a file with recovery codes for two-factor authentication , which will simplify their backup. These codes will be required to log in to your GitLab account if you lose access to your phone or one-time secret secret.


Thank you, Luke, for this contribution!


The main features of the release of GitLab 11.4


Review of Merge Requests


(PREMIUM, ULTIMATE, SILVER, GOLD)


Merge Requests Review is a powerful feature of GitLab. Team members lead discussions tied to specific lines of code in the differential, and can even solve them. However, this process can become difficult in merge-requests with large diffs. Often the reviewer has to leave 10 or more comments in one discussion, and the 9th or 10th comment may make previous comments unnecessary. As a result, the author of a merge-request receives a lot of notifications, and he has to deal with everyone.


In this release, we present the Merge Requests Review. This will allow the reviewer to write as many comments to the draft as he needs, make sure that they are all necessary, and then send them in one action. Since drafts are saved in GitLab, the reviewer can divide his work into several sessions, for example, start a review on his desktop at work and finish at home on the tablet in the evening. When these draft comments are sent, they are displayed as normal individual comments. This will give individual team members the opportunity to review the code as it is convenient for them, but still with the entire team.


In future releases, we will improve this feature and provide an opportunity to see a preview before sending a comment package, as well as grouping notifications of these comments into one notification .


Merge Request Reviews


Discussion documentation and original ticket .


Creating and using pluggable features in your applications (alpha version)


(PREMIUM, ULTIMATE, SILVER, GOLD)


This feature allows you to create plug-in features for your software and manage them directly in the product. Simply create a new plugin feature, confirm it in your software using simple API instructions, and you will be able to control the behavior of your product in the field using the plugin feature in GitLab itself.


Plug-in features offer switching functionality for your application. It will allow teams to achieve continuous delivery (CD), sending new features in production in small batches for controlled testing, sharing sending features with launch for customers.


At the moment, this system is presented in alpha version. We suggest that you check how it works and leave feedback, but do not forget that the implementation may change in future releases.


Create and toggle feature flags for your applications (alpha)


Documentation on plug-ins and original ticket .


File tree for viewing merge-request changes


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


Code review is a necessary practice for any successful project, but from the list of changes it can be difficult to understand what has changed. To facilitate this task, GitLab now provides a tree of files for changes that you can search by.


The file tree displays the structure and size of changes, as it already works with diff-stats , providing a general outline of changes and improving navigation between diffs. A search through the tree gives the viewers the opportunity to limit themselves to part of the files along the path or file type, simplifying the review by specialists who want to focus only on the part of the merge request.


Previously, the list of modified files was available through a drop-down list with a search that was best suited to go to a specific file.


File tree for browsing merge request diff


Documentation on merge-requests and navigation in diffs and the original ticket .


Code owners are offered as confirmation merzh-request


(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)


It is not always obvious who will be the best candidate to review your changes. Code owners are now offered as confirmation when creating or editing a merge request to simplify the assignment of the right people to this role.


Support code owners appeared in the release of GitLab 11.3 ( original article , translation ). In future releases, the degree of participation of code owners in the work process of merge-requests with automatic assignment as confirming and required confirmation of the owner will increase.


Suggest Code Owners as merge request approvers


Documentation on the confirmation of merge-requests and the original ticket .


Updated profile page view


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


No matter what role you use GitLab, your activity is a significant source of information and an indicator of your engagement displayed on your profile page. Your profile should easily give an idea of ​​what you are interested in and what you are working on.


In this release, we updated the user profile page, reducing the schedule of development contributions already familiar to you: it now displays your recent activities and the most important personal projects in GitLab.


New user profile page overview


Documentation on the user profile and the original ticket .


Display and change of status in the user menu


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


In the release of GitLab 11.2 (the original article , translation ), we first presented the status of users, providing the opportunity to share your current workload, mood, or at least your favorite animals.


In this release, we simplify the status change. The new item “Set status” in the user menu will allow you to set or clear the status without leaving the context. It also displays your current status with a message and Emodzhi - at the top, along with your name and nickname.


Set up your user menu.


Documentation on statuses and original ticket .


.gitlab-ci.yml additional files in .gitlab-ci.yml using include now available in the Core plan


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


We’re happy to announce that since this release, the use of include in .gitlab-ci.yml moved from the Starter plan to the Core plan. Thus, templates and other shared resources will always be available for free and paid users, and everyone will have the opportunity to use this advanced development technology with reusable snippets for CI / CD pipelines.


Ability to use includes in `.gitlab-ci.yml` from Starter to Core


Documentation on include and original ticket .


Run only / except works for changes in the file path or in the file


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


We are pleased to present what you often asked for - the ability to use only / except rules in .gitlab-ci.yml for work if changes occur in a particular file or along a specified path.


This will give more control over repositories containing various resources and assemblies, since now only the necessary steps will be performed for the new changes, which will speed up the work of the pipeline as a whole.


Run jobs `only` /` except` for modifications on a path or file


Documentation on the use of restrictions in the changes and the original ticket .


Added incremental scheduled deployment in Auto DevOps


(PREMIUM, ULTIMATE, SILVER, GOLD)


The ability to run an incremental deployment in Auto DevOps has been available for some time, and with this release we add the ability to run a deployment on a schedule , so that it will automatically run on a specified schedule, if no errors occur.


Add timed incremental rollouts to Auto DevOps


Scheduled incremental deployment document and original ticket .


Kubernetes RBAC Support for GitLab Applications


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


When setting up your infrastructure for the first time or connecting to an existing primary factor, security is a must. Role-based access control (RBAC) has become publicly accessible (GA) in Kubernetes 1.8 release, providing more precise control over access control to Kubernetes resources.


Our integration with Kubernetes now offers the ability to either create a cluster in the GKE (Google Kubernetes Engine) with RBAC connected, or connect to an existing RBAC cluster, which will make your infrastructure safer.


Support Kubernetes RBAC for GitLab managed apps


Documentation of clusters with RBAC and original ticket .


RBAC support in Auto DevOps


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


Auto DevOps now also supports application deployment on Kubernetes clusters with RBAC connected.


Role-based access control is an important tool that helps operators (deployment managers) ensure the reliability, security and efficiency of Kubernetes clusters. Using Auto DevOps in conjunction with a cluster with RBAC connected ensures that your applications get all the benefits of increased infrastructure security.


Auto DevOps support for RBAC


Auto DevOps documentation and original ticket .


PostgreSQL database migration support and initialization for Auto DevOps


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


We have improved the capabilities of Auto DevOps to automatically detect, build, test, deploy, and monitor your applications. Starting with release 11.4, Auto DevOps provides the ability to initialize or migrate PostgreSQL databases into your project.


Simply set a project variable to initialize or migrate your PostgreSQL database, and Auto DevOps does the rest.


Support PostgreSQL DB Migration and Auto DevOps


Automatic Deployment Documentation and Original Ticket .


Other improvements in GitLab 11.4


List of tags to which you are subscribed


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


Labels in GitLab are very versatile, as they can be applied to tasks, Merge Requests and Epic. But the more tags you use, the harder it is to keep them in order.


In previous releases, we added a search for tags on the page with a list of project tags. Starting with this release, you can search for tags, sort them by name, creation date and change date, and view a list of tags that you are subscribed to. All this is available in the lists of group tags and tags associated with the project.


List of subscribed labels


Search documentation for tags and original ticket .


WIP Merge Requests Filtering


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


Merge Requests are one of the main parts of GitLab. They allow project participants to work together on code while respecting transparency. We are in favor of the teams at the early stages sharing their work and using the WIP feature (“work in progress”, “in the process of development”), which shows that there is still active work on the Merge Request, and it is still too early to be inhibited.


In this release, we added a new filter for Merge Requests, which works both at the group level and at the project level, which helps users to more easily distinguish between WIP and non-WIP requests (“in work” and “ready”). This allows users to focus on merge requests, which are still in the early stages of work, unlike those that are closer to the final stages of testing before merge.


Filter by WIP merge requests


Documentation on the WIP filter and the original ticket .


Selection of personal references


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


In discussing a task or a merge-request with a large number of participants, it is difficult to see which comments are addressed to you.


Starting from this release, all references to the @ current user will be highlighted in a different color, which allows you to immediately see which comments are sent to you and quickly focus on them.


Highlight `@ mentions` for yourself distinctly


Documentation of references and original ticket .


Inserting GFM tables and links into Markdown on click


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


GitLab supports GitLab Flavored Markdown (GFM) in most text input fields, expanding the formatting capabilities with a simple syntax. In particular, you can create tables on GFM. Previously, this function was difficult to use, especially when working with large tables, since you had to enter a lot of characters or insert the previous table in order to format it as you like. GFM also supports links. But sometimes it is difficult to remember which syntax to use in this case.


Starting with this release, you can simply click on the button with the image of the table in the GFM editor, and the table will be inserted automatically. Then you can easily fill in the cell values ​​of the table or extend it, customizing as you like. This function can be used in descriptions and comments throughout GitLab.


Similarly, by clicking on the insert link button, you will get a template for the URL into which you can quickly insert the link address and its name.


Thanks to George Tsiolis for developing table inserts!


Thanks to Jan Beckmann for developing URL insertion!


Click to insert Markdown table and link


GFM documentation and original ticket .


Inclusion of new tasks in work schedule


(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)


Burndown charts help teams keep track of progress in performing their work on malystone. Usually the amount of work is discussed and approved before milestone begins. But sometimes this rule has important exceptions (such as an unexpected bug or a solution to a security problem), and you have to create new tickets for emerging problems.


Starting from this release, work schedules will show information about new tasks that are created in the middle of Milestone, which is why a jump occurs on the graph.


Include new issues created in Burndown Chart


Extended range of weights in the task API


(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD)


Since the previous release, the values ​​of the weights of tasks can vary from zero to infinity (within reasonable limits).


In this release, we added the ability to set weights with a wider range using the task API.


Task API documentation and original ticket


Quick discussion blocking


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


Locking discussion of tasks and merge-requests helps to shift attention from old tasks and merge-requests to more urgent ones. You can also use this feature to prevent aggressive or unproductive behavior.


In this release, we added quick actions to lock and unlock discussions, so now you can lock / unlock discussions along with posting a comment.


Thanks to Mehdi Lahmam for this feature!


Lock discussion quick action


Quick action documentation and original ticket .


Closing epic


(ULTIMATE, GOLD)


This release adds the ability to close (and reopen) epics in GitLab, as well as tasks and merge requests. In the list of epics, there are now the Open (open), Closed (solved) and All (All) tabs, similar to how it is implemented for tasks. So now, if you have completed all the work on the epic, or it is no longer relevant, it can be marked as completed (closed), and it will no longer appear in the list by default.


Now you can close and reopen the epics using the appropriate buttons or through quick actions, as well as through the API, as a task.


Close epics


Documentation on the epic and original ticket .


Improved admin settings panel


(CORE, STARTER, PREMIUM, ULTIMATE)


- , GitLab, GitLab .


. , , .


Improve Admin Area settings structure


.



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


, GitLab. “Most stars” ( ), .


Jacopo Beschi !


Explore projects by popularity


.



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


, , .


GitLab 11.4 . .


Johann Hubert Sonntagbauer !


Display code language percentage on project overview


.



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


-. , GitLab, . , , , .


“Download codes” ( ).


Luke Picciau !


Download two-factor recovery codes


.


Runners


(CORE, STARTER, PREMIUM, ULTIMATE)


Runners , Runners .


Filter admin Runners view by Runner type and state


Runners .


Docker -


(CORE, STARTER, PREMIUM, ULTIMATE)


- Docker. Docker , , , .


Add support for interactive web terminal to Docker executor


- .


Auto DevOps


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


11.4 Auto DevOps ( GitLab.com) ( -) , , , . Auto DevOps , .


, , .


Auto DevOps .



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


'when' gitlab-ci.yml . , , , — , , .


Allow pipelines to schedule delayed jobs


.


Nurtch JupyterHub


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


(runbooks) , .


JupyterHub, , GitLab Kubernetes Nurtch Rubix , DevOps. , .


Interactive runbooks with Nurtch and JupyterHub


.



(ULTIMATE, GOLD)


, . -, . Maintainers , , .


GitLab 11.4 . Maintainers Settings > CI/CD > License Management , .


Add manual entries for License Management


.



(ULTIMATE, GOLD)


GitLab 11.4, . , , .


Alert thresholds now displayed on metrics dashboard


.


Git v2


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


( git fetch ) , , . Git v2 , ( ) (GitLab) , . .


- . , ( git fetch origin master ) . , 100000 .


Git v2 Git v2.18.0, . , git config --global protocol.version 2 . GitLab.com Git v2 SSH. , .


Git v2 .


UX Geo


(PREMIUM, ULTIMATE)


Geo .
GitLab 11.4 UX Geo , . “Open projects” ( ) , . “All” .


UX !


Geo UX improvements in Admin Area


UX Geo .


Prometheus 2.0 Omnibus GitLab


(CORE, STARTER, PREMIUM, ULTIMATE)


Omnibus Gitlab Prometheus, . Prometheus 2.x, , . , , 1.x.


GitLab 11.4, Prometheus 2.4.2 Omnibus, .



Prometheus 2.4.2, .


.




release notes / : GitLab 11.4 released with Merge Request Reviews and Feature Flags .


cattidourden , rishavant @maryartkey.


')

Source: https://habr.com/ru/post/428940/


All Articles