What you'll learn
- Explain why teams self-host GitLab on private infrastructure to apply their own firewall rules and protect source code
- Describe how a self-hosted GitLab instance relies on external services for DNS, Let's Encrypt TLS certificates, and SMTP email
- Deploy a Linux virtual machine on DigitalOcean and configure a child DNS zone so users reach GitLab by a public DNS name
- Install the GitLab Enterprise Edition Omnibus package over SSH and confirm a Let's Encrypt TLS certificate is issued
- Monitor CPU, memory, disk activity, and GitLab processes on the server with the btop CLI
- Verify SMTP delivery through Amazon Simple Email Service by sending a Notify test email from the gitlab-rails console
Free 54-minute video lesson with a full transcript and knowledge checks. No account needed to watch.
Overview
Join Trevor Sullivan as we learn how to deploy a self-hosted GitLab instance on your own cloud infrastructure!
Recommended Experience
- 2 to 5 years of software development experience
Related Job Functions
- Software Developer
- Software Engineer
- Software Development Engineer (SDE)
Trevor has two decades of experience in the software industry, and holds numerous certifications. Trevor was awarded Microsoft MVP from 2014 through 2017. His other areas of expertise include AWS, Azure, MySQL, GitHub, Docker, Kubernetes, and PowerShell automation.
Intro to Self-Hosting GitLab on Linux
Trevor Sullivan discusses some reasons why you'd self-host GitLab on your own cloud infrastructure.
Knowledge Check
Which service does self-hosted GitLab use to provision a TLS encryption certificate?
Learn About Self-Hosted GitLab Cloud Architecture
Trevor Sullivan discusses the cloud architecture for running a self-hosted GitLab instance.
Knowledge Check
Which protocol is used by self-hosted GitLab instances to send transactional e-mails?
Deploy Virtual Machine for Self-Hosting GitLab
Trevor Sullivan demonstrates deploying a cloud virtual machine for running GitLab.
Knowledge Check
What is the minimum amount of system memory (RAM) that can be used for a self-hosted GitLab instance?
Configure DNS Records for Self-Hosted GitLab
Trevor Sullivan demonstrates the DNS configuration required for running self-hosted GitLab.
Knowledge Check
Which type of DNS record is used to validate domains with Amazon Simple E-mail Service (SES)?
Install GitLab Omnibus Package for Linux
Trevor Sullivan demonstrates installation options for GitLab and installing the Omnibus package for Linux.
Knowledge Check
Which of the following deployment options is NOT available for GitLab?
Configure GitLab TLS Certificate and Access Credentials
Trevor Sullivan demonstrates configuring GitLab to use the DNS hostname, and discovering access credentials.
Knowledge Check
Which setting MUST be configured in order for self-hosted GitLab to be properly installed?
Setting Up and Verifying SMTP from GitLab
Trevor Sullivan demonstrates configuring an external SMTP cloud service for GitLab's transactional e-mails.
Knowledge Check
Which of the following settings is NOT required for self-hosted GitLab SMTP configuration?
Conclusion
I hope this has been informative for you and I would like to thank you for consuming.
Frequently asked questions
What does the Deploy GitLab on Self-Hosted Infrastructure lesson cover?
The lesson walks a team member through a self-hosted GitLab architecture, then deploys a Linux virtual machine, configures DNS records, and installs the GitLab Omnibus package. It finishes by configuring the TLS certificate and root access credentials, then setting up and verifying SMTP so new users can receive sign-up confirmation emails.
Why would an IT team self-host GitLab instead of using the GitLab SaaS instance?
The trainer explains that self-hosting on private infrastructure lets an organization apply its own security rules, such as firewall rules, which reduces the risk of leaking source code or infrastructure-as-code configurations to outside users or attackers. Resiliency is also discussed as a factor when choosing a hosting model.
What external services does a self-hosted GitLab instance rely on?
GitLab does not typically provide TLS certificates or transactional email on its own, so the lesson connects it to a Let's Encrypt certificate, a DNS provider for a child domain such as gitlab.cbttrevor.com, and Amazon Simple Email Service for SMTP. The virtual machine runs on DigitalOcean, and the trainer notes that steps will differ for other cloud providers.
How do you test SMTP email delivery from a self-hosted GitLab server?
The lesson opens the gitlab-rails console, which takes about a minute to initialize, and runs a Notify test email command from the interactive Ruby terminal. A Delivered Mail message confirms GitLab can reach the SMTP provider and send email.
How long is this GitLab self-hosting lesson, and what should learners already know?
The lesson runs 54 minutes and is part of an expert-level course of about 9 hours and 18 minutes per learner. Training Managers should expect learners to already understand GitLab fundamentals, and entry-level IT practitioners may need prior GitLab exposure first.
How can a Training Manager assign this lesson and track completion across a DevOps team?
Training Managers can use CBT Nuggets Playlists to assign the right modules from the Advanced GitLab and DevOps Training course to engineers who will run self-hosted GitLab. Team reporting then shows per-learner progress and completion, cohort and group views, and completion exports for audit evidence.
Team training path
Turn this skill into assignable team training
This free skill is a preview of the courses your team can assign, track, and report on with CBT Nuggets.
Free training library
More free lessons from CBT Nuggets
Git
Introduction to Source Control with Git
Free lesson from GitLab Certified Git Associate (GLCFA) · 54m
Microsoft Windows Server
Microsoft PowerShell 4 Foundations
Free lesson from PowerShell · 7h 57m
DevOps
Docker (v18.06.3)
Free lesson from Docker · 2h 6m
Networking
Border Gateway Protocol (BGP): Basic Operations
Free lesson from Border Gateway Protocol (BGP) · 60m
Networking
Define Wireless Network Architectures
Free lesson from Wireless Design Professional Training · 55m
Python
Introduction to Programming and Python
Free lesson from Certified Associate in Python Programming (PCAP) · 57m
$59
seat / mo, billed annually
