Codebase
Navigate the Codebase using the tree view. Use the filters to highlight where various files are grouped to aid understanding.
Getting Started Commands
Project Structure
Below is a short description of the key directories of the project to aid you when understanding where key files are located.
"/gitlab.com/gitlab-org/docs" - The documentation for GitLab. This includes user documentation, administration guides, and API documentation.
"/gitlab.com/gitlab-org/gitlab-ce" - The Community Edition source code repository. GitLab CE is a self-managed version of GitLab that can be installed on-premises or on a cloud provider.
"/gitlab.com/gitlab-org/gitlab-ci.yml.git" - A Git repository containing the GitLab CI configuration file. This allows multiple teams to share and collaborate on CI configurations.
"/gitlab.com/gitlab-org/gitlab-ci.yml" - A GitLab CI configuration file. GitLab CI is a continuous integration service that runs tests, builds, and deploys code when changes are pushed to a GitLab repository.
"/gitlab.com/gitlab-org/gitlab-ci.yml/docs" - Documentation for GitLab CI.
"/gitlab.com/gitlab-org/gitlab-ci.yml/examples" - Examples of GitLab CI configuration files for various use cases.
"/gitlab.com/gitlab-org/gitlab-ci.yml/scripts" - Scripts used by GitLab CI.
"/gitlab.com/gitlab-org/gitlab-ci.yml/support" - Support files for GitLab CI.
"/gitlab.com/gitlab-org/gitlab-ee" - The Enterprise Edition source code repository. GitLab EE adds additional features and functionality over the Community Edition.
"/gitlab.com/gitlab-org/gitlab-rails" - The main Rails application codebase for GitLab. This directory contains the core GitLab functionality.
"/gitlab.com/gitlab-org/gitlab-shell" - GitLab Shell is a SSH server and command-line interface for GitLab. It allows GitLab to run jobs as different users and manage SSH keys.
"/gitlab.com/gitlab-org/gitlab-web" - The web interface for GitLab. This directory contains the frontend code for the GitLab web application.
"/gitlab.com/gitlab-org/gitlab-workhorse" - GitLab Workhorse is a background processing service for GitLab. It handles background jobs such as sending emails, running CI/CD pipelines, and managing SSH keys.
"/gitlab.com/gitlab-org/lib" - This directory contains shared libraries used by GitLab.
"/gitlab.com/gitlab-org/omnibus-gitlab-ce" - This directory contains the Omnibus GitLab CE (Community Edition) package. Omnibus is a package manager for GitLab that installs and manages all dependencies required to run GitLab CE.
"/gitlab.com/gitlab-org/omnibus-gitlab-ee" - Similar to the above directory but for the Enterprise Edition of GitLab.