Cloud Native 9 min read

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.

Raymond Ops
Raymond Ops
Raymond Ops
Master GitLab: From History to Full Installation & Configuration Guide

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 reconfigure

After 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 --reload

Accessing 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.

图片
图片
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Cloud Nativeci/cdKubernetesConfigurationDevOpsGitLabInstallation
Raymond Ops
Written by

Raymond Ops

Linux ops automation, cloud-native, Kubernetes, SRE, DevOps, Python, Golang and related tech discussions.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.