Prerequisite Concepts

Git Repository Management

Git

GitLab uses Git as its version control system. This allows developers to track changes, collaborate on code, and manage different versions of their projects.

Repositories

GitLab enables the creation of public and private repositories for storing code and other project assets.

Push and Pull

Users can push their changes to a remote repository and pull changes made by others to apply them to their local system.

Collaboration and Workflow

Issues

GitLab provides a powerful tracking system for managing bugs, feature requests, and other tasks.

Merge Request

Developers use Merge Requests to propose code changes. This process facilitates code review and team collaboration.

Wiki

GitLab includes a wiki feature for creating and sharing project documentation.

Teams and Groups

GitLab allows users to organize themselves into teams and groups. This feature significantly aids in project management and access control.

Continuous Integration/Continuous Deployment (CI/CD)

Pipeline

GitLab’s CI/CD system allows users to define automated pipelines for building, testing, and deploying applications.

Runner

Machines (processes) that execute tasks defined in the pipeline are called runners.

Stages and Jobs

Each pipeline consists of a set of stages, with each stage containing multiple jobs. These jobs are executed sequentially by runners.

DevOps and DevSecOps

DevOps

GitLab is a comprehensive DevOps platform that covers all stages of the software development lifecycle.

DevSecOps

By integrating security principles into the development process, GitLab helps teams produce and deploy more secure software.