Postgres HA Automatic Failover (Beta)
For organizations with a large number of developers, or simply because GitLab is an integral part of the software engineering process, it is important to ensure the scalability, performance, and reliability of the GitLab service.
In GitLab 9.4 we released Postgres High Availability with manual failover in beta, reducing the impact and time to recover from a database outage. In 9.5, we have continued to improve our support and now provide automatic failover of a database node. This means GitLab can transparently and without intervention recover from a database server outage without impacting a company’s SDLC process, reducing wake up calls and disruption to developers. We will continue to innovate on our high availability feature set in future releases.
Read through the documentation on Postgres HA
CI_JOB_TOKEN Variable for Artifacts API
With GitLab 9.3, we released features that allowed different projects to be connected through Multi-Project Pipelines. The introduction of these dependencies raised the need to access artifacts created by another related project in an easy way.
Now with GitLab 9.5 this can be done using the
$CI_JOB_TOKEN variable, automatically available to any job, using the following syntax in
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" "https://gitlab.example.com/api/v4/projects/1/jobs/artifacts/master/download?job=test"
Read more about using CI_JOB_TOKEN to download artifacts
Group-level Secret Variables API
In GitLab 9.4, we introduced Group-level Secret Variables, so you can define variables that apply to multiple projects in the same group. GitLab 9.5 adds management of these variables using API calls, allowing easy access and integration with third-party tools and scripts: with this feature you can list, show, create, update and remove group-level variables using a REST interface.
Read through the documentation on Group-level Secret Variables API
Enhanced Security Checks for Pipelines on Protected Branches
In order to allow only authorized people to modify what is released to the public, all of the interactions with pipelines run on protected branches (triggering pipelines manually, retry existing jobs, perform any manual action, etc) are now limited to users that have permissions to modify those branches.
Read more about GitLab CI/CD security model
Previously, the merge request (MR) source branch in the widget linked to the commits page. Now it links to the file repository page (of that branch). This small tweak is much more useful. You can now immediately explore the changes in the branch thus far, and make further commits from the file explorer UI itself. You can still easily access the commits of the source branch in the Commits tab of the merge request itself.
Read through the documentation on Merge Requests
Group Milestones API
In this release, we’ve also added an API for Group Milestones. It allows you to create and edit milestones, as well as get all issues and merge requests associated with a milestone. This is similar to our existing project milestones API.
Read through the documentation on Group Milestones API
Streamline JIRA Integration
Previously, the JIRA integration configuration required you to enter a JIRA project key. This was unnecessarily confusing, since it implied that the integration was one GitLab project to one JIRA project. Instead, the integration has always been one GitLab project to one JIRA instance (and thus, all JIRA projects in that instance). We have removed the JIRA project key from the settings page to streamline this integration.
Read through the documentation on JIRA Integration
Pull Mirrored Repository over SSH
Repository mirroring is a great way to update all code, branches, tags and commits from an upstream repository.
In GitLab 9.5, you can now pull changes into your repositories using SSH, allowing Deploy Keys to be used with repository mirroring.
This addition to mirroring makes for a more secure way to connect your repositories and is great for automation as you won’t have any pesky issues if a password gets changed.
Read through the documentation on SSH authentication for Repository Mirroring
Return Resource URIs in API
In GitLab 9.5 we’re taking a step towards improving our V4 API navigability.
We’re now returning related resources URIs as an addition to the requested resource data. It means that, instead of requiring you to build the URI to a related resource on the client-side, we provide these URIs directly in the API responses.
For now, projects and issues endpoints received the update, but we’re looking forward to introduce this information in other endpoints in the next releases.
Read through the documentation on Projects API
GitLab Runner 9.5
We’re also releasing GitLab Runner 9.5 today!
Most interesting changes:
List of all changes can be found in GitLab Runner’s CHANGELOG.
Read through the documentation on GitLab Runner
To make GitLab easier to onboard, use, and discover, we are constantly improving our documentation and publishing new technical articles with tutorials, guides, and technical overviews.
This month, we’re glad to announce two new great tutorials:
Would you like to contribute as well? Please do! Check our Community Writers Program to get started! :)
Read through our Technical Articles
Merge Request Diff File Navigation
We’ve made it easier to navigate between different sections of the code diff quickly. In GitLab 9.5, we added a helpful dropdown that you can use to easily jump to different files in a merge request. This is especially useful for merge requests with a lot of files and a large number of changes.
Read through the documentation on merge requests
Variables support for Pipelines triggered with CI_JOB_TOKEN
Multi-Project Pipelines, introduced in GitLab 9.3, leverage the
$CI_JOB_TOKEN variable to trigger pipelines in related projects, but passing variables to those triggers, as you can do with regular triggers, was not supported. GitLab 9.5 fills this gap and adds support for variables to pipeline triggers even if they’re invoked using
Read more about passing variables in pipeline triggers
Confidential Issue Toggle
Toggling confidentiality on and off for issues now happens in the sidebar. In the next release, we also plan to push the “move issue” functionality to the sidebar as well. Together, this will free up the main area on the issue page to focus on editing the title and description.
Read through the documentation on Confidential Issues
Search Bar for Group Issues Page
We’ve taken the new filter search bar UI design for project issues and merge requests, and applied it to the group issues page. Now you can use the same powerful UI for finding and managing issues across multiple projects in a group.
Read through the documentation on Searching through GitLab
Group Milestones Quick Action
In GitLab 9.4 we released Group Milestones, giving you a truly native way to manage issues together together in a milestone that stretches across all projects in a single group. In this release we include the ability to assign a group milestone using a quick action and also include a system note to the thread when a group milestone is assigned or removed. This is the same behavior as that of project milestones.
Read through the documentation on Quick Actions
New Issue Based on Pre-selected Project
Previously, you could create a new issue from the group issues page. But GitLab made you select a project as part of that flow. With this new change, GitLab remembers the previous project you selected, so you can skip that step the next time. This feature continues to make GitLab a team-based tool that focuses on groups. Sometimes you don’t care where an issue comes from. You just want to create an issue scoped to a group. Now you can do so quickly on the group issues page. And if you ever want to change your mind, you can always move an issue to another project after the fact.
Read through the documentation on creating new issues
"Remove Source Branch" Disabled by Default
Many users follow a Git workflow whereby they remove the source branch after a merge request has been merged. We have a useful feature to automate this process with a simple checkbox setting in the merge request widget. We’ve received overwhelming feedback that this setting should be disabled by default, since it is a destructive action. With this release, it is now disabled when you create a merge request. If you indeed do want to enable it, simply check the checkbox at any time before merging.
Read through the documentation on Merge Requests
GitLab Mattermost 4.1
GitLab 9.5 includes Mattermost 4.1, an open source Slack-alternative whose newest release simplifies the securing of integrations with personal access tokens, and much more.
This version includes security updates and an upgrade is recommended.
Read through the documentation on GitLab Mattermost
GitLab Geo Improvements
Read through the documentation on GitLab Geo
Read through the documentation on Omnibus GitLab