Prerequisite Concepts
For comprehensive information about GitLab, refer to its documentation page.
Git documentation is also available at this link.
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.