The greatest thing about Gitlab is the ease of use and versatility to run over various platforms. It is being used by a number of large companies in all different industries today. It provides a seamless integration with any system. The user interface enables Gitlab users to access everything from one screen: projects, latest projects. Milestones allow users to set milestones at a group level, rather than just a developer-specific level.
The main issue with GitLab is its UII. Various functions seem to be hidden within obscure menus and hidden drop-downs. Not too much of a problem once you're used to it, but for new users, its a real issue. The comment system isn't great, for some reason GitLab stores any and all edits that are made, meaning even the slightest change to a pull / merge comment is stored.
Portfolio Management, Project Management: Issues, Issue Boards, Issue Weights, Labels, Milestones, and burndown charts.
Source Code Management, Continuous Integration (CI): Pipeline, CI Runner, Jobs, Scheduled Jobs, Testing, Security Scanning (SAST), and Code Quality.
Continuous Delivery: Partial Deploys, and Feature Flags.
Application Configuration Management: Application Monitoring.
Integration - SCM(GitHub), CI: Integrations with Jenkins, Circle CI, Bamboo or other CI servers. CD: Integrations with common CD tools such as Puppet, Chef, Ansible, Jenkins and others.