Gitlab is an open source repository management application based on Ruby on Rails. It was split in to two editions, "GitLab Community Edition" and "GitLab Enterprise Edition", both are free and open source software distributed under the MIT License.
Gitlab is graphical implementation of the git version control system. It is used for maintaining current and historical versions of files such as source code, web pages and documentation. Using Gitlab you can host your own infrastructure and provide an internal repository to your development team. Gitlab makes it easy to manage projects and keep track of changes in code. You can create the number of users as well as number of repositories and number of files on Gitlab. Git lab used by lots of organizations such as NASA, Alibaba, CERN, O’Reilly Media and many more.
Features of GitLab
Gilab provides lots of features, some of them are listed below:
- Provides user friendly web interface to manage projects, edit files, directories and creat merge requests.
- You can customize Gitlab and insert your own branding on the login page.
- You can easily import projectsfrom SVN subversion, GitHub and other version control system.
- It is open source and easily installable on any unix like operating system.
- GitLab provides lots of useful features like help, code reviews, issue tracking, activity feeds, inbuilt wiki and many more.
In his tutorial, we will learn how to install and configure GitLab on your Ubuntu 16.04 server.
- A server runing Ubuntu-16.04 on your system.
- A non-root user with sudo privileges setup on your server.
- 2 core CPU to support up to 500 users.
- 2 GB Memory to support up to 500 users.
- A static IP address is configure on your system.
Update the System
Before starting with the Gitlab installation, you will need to update the system's package repository database with the latest version. You can do this with the following command:
sudo apt-get update -y
sudo apt-get upgrade -y
Once your package repository is up-to-date, you can proceed with installing required dependencies.
Installing Required Dependencies
Before starting it is recommended to install all required dependencies for GitLab. You can install all dependencies by running the following command:
sudo apt-get install ca-certificates curl openssh-server postfix git
Once installation is completed, you can proceed to install GitLab.
Once all the required dependencies are installed, it's time to install GitLab.
You can install GitLab by downloading GitLab installation script.
To download the installation script, run the following command:
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
Once download is completed, run the downloaded installation script with the following command:
sudo bash script.deb.sh
The above script will install and setup GitLab repository on your system. Once installation is complete, you can install the GitLab application by running the following command:
sudo apt-get install gitlab-ce
The above command will install all required components on your system.
You will also need to configure GitLab before using the gitLab application.
You can do this with the following command on your terminal:
sudo gitlab-ctl reconfigure
Once configuration is complete, you can proceed to configure firewall.
Configure Firewall for GitLab
Before accessing the GitLab, you will need to allow SSH and HTTP service through UFW firewall. By default UFW is disabled on your system, so you need to enable it first. You can enable it with the following command:
sudo ufw enable
Once UFW firewall is enabled, you can allow HTTP and SSH service by running the following command:
sudo ufw allow OpenSSH
sudo ufw allow http
You can now check the status of UFW firewall by running the following command:
sudo ufw status
To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80 (v6) ALLOW Anywhere (v6)
You are now ready to access the GitLab web interface.
GitLab Web Interface
Once everything is up-to-date, it's time to access the GitLab web interface.
Open your favourite web browser and type the URL
http://your-server-ip or http://your-domain-name. You should see the following page in your web browser, where you will be asked to create a new password for root.
Enter the new password twice and click on Change your password button.
Next, you will need to sign in to web interface. You can sign in to administrative account by using the username root and your newly created password.
Once you are logged in, you should see the following interface:
Congratulations, GitLab is now successfully installed. You can now configure the settings as you wish.
Creating a New Project
To create a new project on GitLab, click on
+ icon at right side of the dashboard or click on
New Project button:
In the new project dashboard, enter the path of your project and project name or you can also import project from source. Next, enter the discription of your project and choose visibility level of your project. If you set project visibility to Private then admin must provide permission to each user to access the project. The project can be cloned by only those users who have access to the project.
If you choose project visibility to Internal then all the logged in users can clone the project. If you choose project visibility to public then project can be cloned without any authentication.
Next, click on
Create Project button to create a project.
Congratulations! You have successfully installed and configured GitLab on your Ubuntu 16.04 server. I hope you can now easily host your own GitLab on your server and create your own repository for your development team. You can also create your own project, import a project from other version control system, create your own branding on GitLab login page and configure the appropriate level of access for your team.
GitLab also provides a help feature that will provide you with instructions on how to use GitLab.