To ensure strict code review, you can require a minimum number of users to approve of a merge request before it is able to be merged.
Assign Code Owners to files to indicate the team members responsible for code in your project. Code owners are assigned automatically as merge request approvers.
Find bottlenecks in your code review process by understanding how long open merge requests have been in review.
For faster code review, draft multiple comments in a merge request code review, before submitting them together all at once.
Keep master green. A special pipeline runs on the results of merged code before merging into master to detect changes that may be green on a branch but will fail master when merged.
Full Code Quality reports are available on the pipeline page, showing areas of the codebase that do not meet the organization’s preferred style or standards.
Shorten the feedback cycle and enable stakeholders to provide comments through a form in your review app - which is then automatically added to the related merge request .
Visualize the history and current status of pipelines across projects and groups all in a single dashboard that can be customized for each user.
Visualize how pipelines across projects are linked together, including cross project dependencies.
Reduce pipeline queueing and waiting time with merge trains which allows parallel pipeline execution, with each pipeline building off the merge result of the previous one.
Connect your projects hosted on external services (like GitHub or Bitbucket) and leverage the power of GitLab CI/CD pipelines to build, test, and deploy your applications easily.
Manage the deployments and connection to your Kubernetes clusters in a secure and compliant way, driven by code.
Visualize cross-project environments, track change flow from development to production, track pipeline status and diagnose issues from a single dashboard.
templates for a Group to make consistency easier.
Encapsulate knowledge of deploying and rolling back into something more than a script, perhaps similar to a k8s operator. Something that knows how to handle failure. e.g. if you’re deploying 7 services and one fails, you can’t just stop, you probably have to rollback the 6 that succeeded, as well as the 7th that failed. (Now, depending on implementation, it still might be a script that triggers some kind of operator). GitLab can deploy and rollback, but only via scripts with limited error handling.
Visualize multiple epics and milestones across time in a roadmap view.
Plan and track features and work group level epics that collect issues together. Easily create and assign Issues directly from the Epic itself
Assign scoped labels mutually exclusively when they have the same scope.
Issue board lists that pull in issues in a given milestone
Assign more than one person to an issue at a time.
Multiple Group Issue Boards, similar to Multiple Project Issue Boards
Promote an issue to epic to continue collaboration at a higher-level work abstraction.
GitLab lets you manage issues using Agile practices by setting the weight of an issue.
Approval rules ensure that the right people review merge requests by specifying eligible approvers and the minimum number of approvals required for a merge request.
Guarantee quality and standards of your code by mandating a set number of necessary approvals and predefine a list of specific approvers.
Coordinate the order in which merge requests are merged within the same project and/or across different projects.
Reject new code and commits that don’t comply with company policy.
Extend the base functionality of protected branches and choose which users can push or merge to a protected branch.
Specify which person, group, or account is allowed to deploy to a given environment, allowing further protection and safety of sensitive environments.
Group owners can prevent new members from being added to projects within a group.
Users using Geolocation-aware DNS can be transparently directed to the closest server available and access repository data faster.
Fail over in minutes to another data-center.
Maintenance mode allows systems administrators to perform maintenance operations, such as preparing for a scheduled failover, with minimal disruption to end users.
Configure replicated Git storage with automatic failover, strong consistency, and read distribution for improved fault tolerance and performance.
Built for distributed teams, GitLab Geo helps to reduce time to clone and fetch large repos with GitLab Geo - thereby speeding up the user experience for all users regardless of location.
Scale GitLab services across multiple nodes to manage demand and provide redundancy. Determine the optimal architecture for your needs using reference architectures.
Supports distributed teams by running multiple registry instances across several regions and syncing between data centers.
Distribute read-only queries among multiple PostgreSQL database servers and reduce the load on the primary database to increase responsiveness.
Forward your logs to a central system.
Ensure you are not exposed to web application vulnerabilities like broken authentication, cross-site scripting, or SQL injection by dynamically investigating your running test applications in CI/CD pipelines.
Gain visibility into top-priority fixes by identifying and tracking trends in security risk across your entire organization.
Empower your entire team, and not just Security, to act on security findings with a unified interface for scan results from all GitLab Security scanners.
Run a security scan to ensure the Docker images for your application do not have any known vulnerabilities in the environment where your code is shipped.
Protect your application from vulnerabilities that affect dynamic dependencies by automatically detecting well-known security bugs in your included libraries.
Test the APIs in your apps to find vulnerabilities and bugs that traditional QA processes miss.
A vulnerability database that can be viewed and enhanced by anyone.
Identify vulnerabilities in your running application, independent of code changes or merge requests.
Require approval from your security team before allowing developers to merge in code that introduces new vulnerabilities.
The security alert dashboard provides a workflow for viewing and managing container network policy security alerts.
Allow security teams to manage and enforce security policies for GitLab projects and for Kubernetes clusters.
Continuously log events that are commonly requested in audits. Discover who did what and when.
Check that licenses of your dependencies are compatible with your application, and approve or deny them. Results are then shown in the Merge Request and in the Pipeline view.
View an aggregated list of merge requests for all projects in a group. Easily identify and act on merge requests that are out of compliance or generate and export a chain of custody report for the group’s projects.
Define and plan test cases, maintain test execution results and create a backlog of work from failed tests.
Help teams using both Jira and GitLab better collaborate and stay in sync by requiring that a Jira issue to be linked to each merge request.
Create unique compliance frameworks that projects must follow. These will appear as a label next a project to distinguish it from others.
Ensure projects perform the steps necessary to meet regulatory requirements with a common pipeline definition that will run for all projects which adhere to a given compliance framework.
Gather, document, refine, and track approval of business and system requirements. Define traceability between requirements and other requirements, code, or test cases.
Plan and track strategies, initiatives, and features with multi-level epics. Organize and prioritize work across multiple children epics and their issues within the Epic Tree.
View and track your epics on a kanban-style board
Report on and quickly respond to the health of individual issues and epics by viewing red, amber, or green health statuses on your Epic Tree.
Using epics and issues together results in a planning hierarchy that spans groups and projects. This allows multiple layers of breaking down work and better organization. Hierarchy starts with single level epics in Premium. It becomes more flexible with mult-level epics in Ultimate.
Establish product vision and strategy, gain progress insights, organize, govern and shape the effort of multi-disciplinary teams with portfolio-level roadmaps.
Edit labels on multiple epics all at once via the Epic List.
Charts to visualize data such as triage hygiene, issues created/closed in a given period, average time for merge requests to be merged and much more.
Monitor the frequency of your deployments over time, find bottlenecks, and make improvements when necessary.
Lead time for changes measures the time to merge a change to production and helps you understand the efficiency of your deployments over time and find improvement areas.
Purchase additional CI/CD minutes or storage and transfer for your group or personal namespaces on SaaS.