Gitlab is a web-based DevOps lifecycle management tool developed by GitLab Inc. It provides git version control repository management, issue tracking, To-Do list, continuous integration and deployment (CI/CD) pipelines for the applications. Gitlab also supports integration with various services.
The Community edition of Gitlab is available free for use on development and production environment. It provides large number of features required for small to large scale companies. The enterprise edition provides more features but required a paid license.
This tutorial will help you to install Gitlab on Ubuntu 20.04 LTS Linux system. You are going to install Gitlab community edition using this tutorial.
Login to your Ubuntu 20.04 system with sudo privileged account.
Then upgrade the current packages to latest version.
sudo apt update && sudo apt upgrade
Also, install some required packages for installing Gitlab on Ubuntu systems.
sudo apt install -y vim curl ca-certificates apt-transport-https
Step 1 – Install Gitlab on Ubuntu 20.04
The Gitlab official team provides a shell script to configure Apt repository on your system. As well as install some required dependencies to your system.
Open a terminal and execute following command:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
The above command will create apt configuration file (/etc/apt/sources.list.d/gitlab_gitlab-ce.list) in your system. Next is to install Gitlab on Ubuntu system using apt command:
sudo apt install gitlab-ce
This command will take some time to complete Gitlab installation on Ubuntu. This will install all the required services like Nginx, PostgreSQL, Redis etc.
Step 2 – Configuring Gitlab
Edit the Gitlab configuration file
/etc/gitlab/gitlab.rb and update the external url to a valid domain or subdomain name to use for accessing Gitlab.
sudo vim /etc/gitlab/gitlab.rb
The Gitlab also provide native support for configuring let’s encrypt SSL certificates. To enable the let’s encrypt SSL, edit the following values in configuration file.
# Enable the Let's encrypt SSL letsencrypt['enable'] = true # This is optional to get SSL related alerts letsencrypt['contact_emails'] = ['[email protected]r-domain.com'] # This example renews every 7th day at 12:30 letsencrypt['auto_renew_hour'] = "12" letsencrypt['auto_renew_minute'] = "30" letsencrypt['auto_renew_day_of_month'] = "*/7"
Save the configuration file. The vim editor user use
ESC + :wq to save and exit file. The nano user can use shotcut
CTRL + o to save content and then
CTRL + x to exit from editor.
Now, run the reconfigure command to apply changes to Gitlab server.
sudo gitlab-ctl reconfigure
This will take some time to complete the installation. At the end, you will see a message “gitlab Reconfigured!” on your screen.
Step 3 – Adjust Firewall
If you system running a firewall, make sure to open 80, 443 ports.
The firewalld users can use the following commands to open required ports on their system.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
Next, run the following command to implement the changes:
sudo firewall-cmd --reload
Step 4 – Access Gitlab Dashboard
Access the Gitlab dashboard using domain name configured in Gitlab configuration file. Open a web browser and access your domain:
During the first time, Gitlab will prompt you to set a new password for the default user. The Gitlab default username is “root”, have the administrator privileges. Set a strong password for this account.
After changing the password, your browser redirects to login page. Here use “root” as username and password, you set in above to login as administrator.
Hit Sign in button to login Gitlab administrator dashboard.
You have successfully installed Gitlab on your Ubuntu system. Next, create user, group and repositories for your code to be managed under Git version control system.
Step 5 – Configure Backups
Use the following command to take complete backup of your data. The default backup created under the /var/opt/gitlab/backups directory, which an be change in /etc/gitlab/gitlab.rb file.
sudo gitlab-rake gitlab:backup:create
You can also add the same command scheduler to backup data nightly. Add the below job to the system crontab.
0 22 * * * sudo gitlab-rake gitlab:backup:create
This tutorial helped you to install and configure Gitlab on Ubuntu system. Also provides you instructions to configure let’s encrypt SSL on Gitlab.