This document provides an overview of GitLab and discusses implementing GitLab within the Commercial Bank of Ethiopia (CBE). It describes GitLab as a self-hosted Git repository management system that allows users to privately manage code repositories. The document outlines key GitLab features like repository creation, user management, access controls, and integration with Git workflows. It recommends a single server GitLab architecture for CBE based on its reference architectures. The proposed CBE implementation would involve deploying a GitLab server authenticated via Active Directory, with an optional GitLab runner server, and various CBE teams using it for source code management, infrastructure as code, and change tracking.
2. TABLE OF
CONTENT
Inside this
Presentation
Introduct
ion
What's Git?
What is
Gitlab
Gitlab and its
features
Why Gitlab?
The need of
implementing GitLab
in CBE context
Gitlab
Architecture
High level and
refrence
architecture of
Gitlab
Architecture
(CBE)
Architecture of
Gitlab in CBE
context .
3. Introduction
Git - is a source code versioning system that lets locally track
changes and push or pull changes from remote resources.
A Git repository tracks and saves the history of all changes
made to the files in a Git project.
GitLab, GitHub, and Bitbucket - Are services that provides
remote access to Git repositories.
4. What’s Git Lab
Service that organizations can use to provide internal
management of Git repositories. (web based)
It’s a self hosted Git-repository management system
that keeps the user code private and can easily deploy
the changes of the code.
5. Features
Easy creation of server repositories.
Easy registration of users.
Easy management of access right to projects
for users.
Deep integration with git: graphical tools to
visualize server side commits, branches, tags,
user activities, files, etc.
6. Features
Implement Github-like workflow based on
fork and merge requests.
Offers tracking from planning to creation to
help developers automate the entire DevOps
lifecycle and achieve the best possible results
8. Components of Gitlab
Version control and repository management based on Git.
Issue management, bug tracking and boards.
Code Review functionality and Review Apps tool.
Continuous Integration/Deployment tool (GitLab CI/CD)
Code Quality (Code Climate)
ChatOp tool (Mattermost)
Service Desk (ticketing system)
10. Reference architectures
• The GitLab Reference Architectures have been
designed and tested by the GitLab Quality and
Support teams to provide recommended
deployments at scale
11. Reference Architectures
Up to 1,000 users
Up to 50,000 users
Up to 2,000 users
Up to 25,000 users
Up to 10,000
users
Up to 5,000 users
Up to 3,000 users
needs 29+ servers
needs 30+ servers
needs 10+ servers
needs 6+ servers | 1 Load balancer
Single server (Selected architecture for CBE)
The following reference architectures, where the GitLab package is used, are available: (depending on the workload)
needs 34+ servers
needs 40+ servers
13. CBE Gitlab Server
RedHat 8
Installed on IP address
10.1.82.170
Active directory
Authenticates users against
Active directory (outlook
mail)
Optional
component
Gitlab runner (are servers dedicated
for building codes while in CICD
phase)
14. Users
Developers under
Application & Project
Teams for collaboration
Developers
Infrastructure units use
the platform as a code
(Iaac) projects
Infrastructure Team
As central source
code repository and
for tracking code
changes
Change Mgmt. Team
Various units specially IS departments would benefit from Gitlab