Master GitLab: From History to Full Installation & Configuration Guide
This article provides a comprehensive overview of GitLab—including its origins, key features, and evolution—followed by detailed, step‑by‑step instructions for installing, configuring, and accessing GitLab on Rocky Linux, covering repository management, CI/CD pipelines, and Kubernetes integration.
Introduction
GitLab is an open‑source Git‑based version control and DevOps platform that supports software development, continuous integration (CI), continuous deployment (CD), and project management.
What is GitLab?
GitLab combines Git repository hosting, code review, issue tracking, CI/CD pipelines, containerized deployment, and monitoring to improve team collaboration and automation.
Origin and Development
GitLab Origin (2011)
The first version was created by Dmitriy Zaporozhets to provide a self‑hosted, open‑source Git repository management tool.
Open‑Source Expansion (2011‑2013)
Basic Git repository management
User authentication and permission control
Integrated code review
Merge request functionality
Company Formation (2014)
GitLab, Inc. was founded, introducing a commercial model and paid versions.
Key enterprise features added: CI/CD, advanced access control, project management, and security testing (SAST).
Growth and Achievements
2015: Launch of GitLab Enterprise Edition (EE) with advanced features.
2016: Reached 100,000 users.
2018: Introduced container scanning and security features.
2019: Became a “one‑stop DevOps platform”.
2020: Recognized as a leading DevOps platform.
Key Features and Innovations
Open‑source and self‑hosted.
Full‑stack DevOps covering code hosting, CI/CD, and monitoring.
Highly scalable architecture for large enterprises.
Enterprise‑grade security with static and dynamic application security testing.
Core Functions
1. Git Repository Management
Git repository hosting.
Branch management with Git flow support.
Merge Requests for code review and collaboration.
Tag and version management.
2. Continuous Integration & Continuous Deployment (CI/CD)
Automated build, test, and deployment pipelines defined in .gitlab-ci.yml.
Parallel job execution and pipeline control.
Automatic deployment to development, testing, and production environments.
Integration with Docker and Kubernetes.
3. Containerization & Kubernetes Integration
Build and push Docker images to container registries.
Seamless integration with Kubernetes clusters for automated deployments.
Installation and Configuration Guide
System Requirements
Minimum 4 GB RAM (8 GB recommended).
At least 2 CPU cores.
Minimum 4 GB free disk space.
Supported OS: Rocky Linux 8.x / CentOS 8.x (the guide uses Rocky Linux 9 with 8 cores and 16 GB RAM).
Installation Steps
sudo dnf update -y sudo dnf install -y curl policycoreutils-python-utils openssh-server curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo dnf install -y gitlab-ce sudo gitlab-ctl reconfigureAfter configuration, check the service status: sudo gitlab-ctl status If the firewall is enabled, open port 80:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent && sudo firewall-cmd --reloadAccessing GitLab
Open a browser and navigate to http://<em>your‑host‑IP</em>. The default username is root; retrieve the initial password with: cat /etc/gitlab/initial_root_password Log in with these credentials to reach the GitLab homepage.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Raymond Ops
Linux ops automation, cloud-native, Kubernetes, SRE, DevOps, Python, Golang and related tech discussions.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
