In GitLab 9.5, we present verification of GPG commits, project templates, auto-repeat failed CI jobs, navigating through the diff file of merge requests, significant performance improvements, and more.
Everything we do in GitLab, from an integrated product to monthly releases, is primarily aimed at reducing development time. With each release, we strive to help you do more in less time, without forgetting that the process of working with our products should be as clear and intuitive as possible. GitLab 9.5 is no exception. This release includes improved navigation, new project templates with a pre-configured CI, as well as new performance tracking and CI automation capabilities — all of which will help you reduce development time and effort.
This release will be the last for versions 9.x: the release of GitLab 10.0 is scheduled for September 22! In the meantime, we present a set of excellent new features at the end of the ninth series.
To simplify working with GitLab, we updated the navigation by removing unnecessary interface elements - now you need fewer clicks to navigate the GitLab instance. We also added new icons and navigation options when hovering.
Getting started on a new project has become faster. In GitLab 9.5, we present project templates with which you can quickly create new projects with a pre-configured CI.
Continuing work on reducing development time, we made it possible to auto-repeat the failed work of GitLab CI / CD. You no longer need to spend time returning to the project’s pipelines just to click “retry” for a failed job.
GitLab 9.5 also includes improvements for the later stages of the development cycle. With the addition of automatic monitoring for applications with automatic deployment, we have simplified the collection of feedback and system metrics of your applications.
Last but not least, we added a lot of performance improvements - GitLab has become faster than ever!
Alexis added verification of signed commits to GitLab. Now all commits with GPG signature will display their verification status next to the commit author.
A wonderful innovation, we all like it very much! Thank you, Alexis!
When committing changes to Git, you can specify their author. The verification is not performed, which allows for a situation in which the author can specify another person.
Signing commits GPG solves this problem by letting you sign your commits. The signature clearly indicates the author, since only he has a private key corresponding to the public one.
GitLab 9.5 includes support for GPG commit signatures. You can upload your public key in Settings → GPG Keys . Now signed commits will be displayed in GitLab as “confirmed”.
Thanks to Alexis Reigel for introducing this functionality!
More information about GPG commit signatures in our documentation.
In Gitlab 9.4, we presented a preview of our updated navigation , making it easier to navigate GitLab.
We thank our community for the excellent feedback . We listened to them and, as a result, GitLab 9.5 includes a number of corresponding improvements .
Now you can minimize the left menu, which frees up space on the screen. We also added an additional menu when you hover the cursor, it simplifies navigation between different menus, and also reduces the number of clicks and page loads.
If you have not tried to work with the new navigation, click on the icon of your profile in the upper right corner and select Turn on new navigation .
The work on updating the navigation is not yet complete, we still have to make many improvements before we finally move to the new navigation in GitLab 10.0. We will be happy to read your feedback - this will help us create a navigation model suitable for everyone.
More information on updating navigation in our documentation.
Getting started with GitLab from scratch is not easy. The study of all its possibilities requires even more strength. In this regard, we add project templates, with which you can quickly create a new project that already contains code samples, and CI is already configured.
In GitLab 9.5, we support some of the most popular development environments: Ruby on Rails, Node Express, and Java Spring.
More information on project templates in our documentation.
Sometimes the reason for the failure of the pipeline to execute is that a single job has run into temporary problems unrelated to code. In such cases, as a rule, it is sufficient to re-launch such work several times to successfully complete the pipeline.
To automate this process in GitLab 9.5, you can declare the retry
keyword in the .gitlab-ci.yml
. In this case, GitLab CI / CD will rerun this job the appropriate number of times before marking it as failed.
More information about autopowder failed jobs in our documentation
In GitLab 9.4, we have introduced web-based monitoring of applications - using this functionality, users can track the key metrics of their applications in GitLab, such as throughput, error rate and latency.
In GitLab 9.5, we further simplify the tracking of these metrics for applications with automatic deployment . If you deployed GitLab using the Helm-chart GitLab-Omnibus , then no additional configuration is needed at all! For the remaining installation methods, just make sure that Prometheus is monitoring NGINX Ingress .
More information about monitoring applications with automatic deployment in our documentation.
For organizations with a large number of developers, as well as for organizations in which GitLab is an integral part of the development process, the scalability, performance and reliability of GitLab services is extremely important.
In GitLab 9.4, we released a Postgres High Availability beta with a failover manually , which reduced the damage caused by a database crash and also reduced the recovery time. In GitLab 9.5, we continued to develop in this direction: an automatic bypass of the failure of the node of the database appeared. Now, thanks to this, GitLab can recover after a database server crashes without external intervention, without affecting the company's workflow and without worrying developers in vain. We will continue to work on improving GitLab High Availability in future releases.
More information about Postgres HA in our documentation.
In GitLab 9.3, we added functionality that allows communication between several projects using inter-project pipelines . The introduction of these dependencies has shown the need for easy access to artifacts created by related projects.
In GitLab 9.5, you can use the $CI_JOB_TOKEN
variable, which is automatically available for any job, using the following syntax in the .gitlab-ci.yml
:
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" "https://gitlab.example.com/api/v4/projects/1/jobs/artifacts/master/download?job=test"
More information on using CI_JOB_TOKEN to retrieve artifacts in our documentation.
In GitLab 9.4, we introduced secret group-level variables , with which you can define variables of several projects of the same group. GitLab 9.5 adds management of these variables using API calls, which opens up possibilities for easy access and integration with external tools and scripts: you can now create, update, show and delete group-level variables using the REST interface.
More information about the interface of group-level secret variables in our documentation.
In order to give access to the change of a product accessible to a user, only to people with the corresponding authorization, all interactions with conveyors on protected branches (manual launch of conveyors, repeated execution of existing works, manual actions, etc.) are now available only to users with permission to change these branches.
More information about the GitLab CI / CD security model in our documentation.
Previously, the initial merge request branch in the widget provided a link to the commits page. Now it leads to the repository page of files of this branch. This small change brings many benefits: now you can instantly see all changes in a branch and conduct further commits directly from the file system interface. The source commit commits are still easily accessible from the Commits tab of the merge request.
More information about merge requests in our documentation.
In this release, we also added the group milestone interface. With it, you can create and edit Milestone, as well as upload all tasks and merge-requests related to a specific Milestone. This functionality is similar to the existing interface of the project milestones .
More information about the group milestone interface in our documentation.
Previously, to configure integration with JIRA, you had to enter the JIRA project key. This was confusing because it meant that for one GitLab project there was one JIRA project. Instead, it always turned out that for one GitLab project there is one JIRA instance (and, thus, all the JIRA projects that belong to this instance). We removed the JIRA project key from the settings page to simplify this integration.
For more information, see the JIRA integration documentation.
Mirroring the repository is a great way to update all code, branches, tags, and commits from the source repository.
In GitLab 9.5, you can pull changes to your repositories over SSH, allowing you to use deployment keys when mirroring a repository.
This addition to mirroring is made for a more secure connection of your repositories and is great for automation, since you will not have problems if the password changes.
Read more about SSH authentication for mirroring repositories in our documentation.
In GitLab 9.5, we have moved a step further in improving the V4 API navigation.
Now we return the resource-related URIs in addition to the requested resource data. This means, instead of asking you to build your own for the URI resources on the client side, we provide these URIs directly by API requests.
Currently it works for projects and tasks , but we look forward to the opportunity to provide this information on commits, events, etc. in the next releases.
Read the project API documentation.
Also in this release we release GitLab Runner 9.5.
A complete list of changes can be found in the CHANGELOG GitLab Runner .
Read the GitLab Runner documentation.
To make GitLab easier to implement, use and explore, we constantly improve the quality of our documentation and publish new technical articles with tutorials, guides and technical reviews.
This month we are pleased to present two great new tutorials:
Want to join? We are just happy! Check out our community writers program and get connected! :)
We simplified and accelerated navigation between different sections of diff codes. In GitLab 9.5, we added auxiliary drop-down hints, which you can use to quickly navigate to different merge-quest files. This is especially useful for merge-requests with a large number of files and a lot of changes.
The interproject pipelines that appeared in GitLab 9.3 use the $CI_JOB_TOKEN
variable to start pipelines in related projects, but it was impossible to pass variables to these triggers, as you could do with regular triggers. GitLab 9.5 filled this space and added support for pipeline trigger variables even when called with $CI_JOB_TOKEN
.
For more information on passing variables to pipeline triggers, see our documentation.
Enabling or disabling security tag for tasks now occurs in the side menu. In the next release, we also plan to add task transfer functionality to this menu. Together, these changes will free up the main space on the task page and allow you to focus on editing the title and description.
Read the secret task documentation.
We took a new search menu design with filters for project tasks and merge-requests and applied it to the group tasks page. Now you can use the same powerful interface to search and manage tasks for different projects within a group.
For more information , see the search documentation for GitLab.
In GitLab 9.4, we released the Milestone group , providing a convenient way to manage multiple Milestone tasks at once, which extends across all the projects in a group. Version 9.5 includes the ability to assign a group mailstone using a quick action , as well as a system note that is sent to the stream when a group mailstone is assigned or deleted. This behavior is related to the behavior of the project milestone.
Learn more in the quick action documentation.
Previously, you could create a new task from the group task page. But in one of the parts of this process one had to choose a project. Now GitLab will remember which project was previously selected, so you can skip this step. This functionality continues to turn GitLab into a team tool that focuses on groups . Sometimes you do not think about where the task came from. You just want to create a task associated with a group. Now you can quickly do it right from the group task page. And if you ever change your mind, you can always move a task to another project after creation.
New Task Creation Documentation
Many users adhere to the Git workflow, which is why they delete the original branch after the merge request. We have added a useful feature that automates this process - a simple checkbox in the merge-request widget. We received countless reviews that this default setting should be disabled, as it is a deletion action. In this release, when creating a merge-request, this setting is disabled. If you really want to activate it, just tick the checkbox in front of merge.
Read the Merge Requests Documentation
In GitLab 9.5, the Mattermost 4.1 is included, an alternative to Slack with open source . The new release of Mattermost makes it easier to integrate with personal access tokens and more.
This version includes security updates . We recommend to upgrade.
Details in the documentation for the GitLab Mattermost
Significant changes:
For more information , see the GitLab Geo documentation.
Read the Omnibus GitLab documentation
Detailed release notes and instructions for updating / installing can be found in the original English post .
Source: https://habr.com/ru/post/337246/
All Articles