ManagedCloud Servers

High performance handled and monitored by us 24/7/365. A complete solution to provide you with our in house expertise 24/7 tailored to your specific needs. We'll setup a bespoke server for your site using the latest tehnologies so you can get the most out of your hardware and get your website loading quickly and reliably. Find out more..

cPanelCloud Servers

Reccomended - High performance cloud servers with no technical knowledge required. If you're hosting multiple websites already and you're looking to consolidate, or if you're looking to isolate yourself from the shared hosting environment but you don't have the time or knoweldge to manage a server, then the Managed cPanel Servers are for you. Find out more..

UnmanagedCloud Servers

Our unmanaged range gives you complete control at rock bottom prices and our cloud platform boasts super fast multipath 40Gb/s network, the latest Intel Xeon V3 CPUs and enterprise grade redundant SSDs. If you're a sysadmin look no further, we offer some of the best specification to price ratio servers available. Find out more..

Install and Configure GitLab on Ubuntu 16.04

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:

  1. Provides user friendly web interface to manage projects, edit files, directories and creat merge requests.
  2. You can customize Gitlab and insert your own branding on the login page.
  3. You can easily import projectsfrom SVN subversion, GitHub and other version control system.
  4. It is open source and easily installable on any unix like operating system.
  5. 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.

Requirements

  1. A server runing Ubuntu-16.04 on your system.
  2. A non-root user with sudo privileges setup on your server.
  3. 2 core CPU to support up to 500 users.
  4. 2 GB Memory to support up to 500 users.
  5. 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.

Installing 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

Output:

Status: active

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.

Conclusion

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.



Comments

  • Mauricio Silva

    It is a really great blog post about GitLab! It was very useful for me!

    I strongly believe that GitLab can help a Software Development Team in their projects, to collaborate among them to achieve the goals of the project.

    This tool can be very useful both in agile development approach or traditional approach.

    In my opinion the main advantages using GitLab are:

    – A good backend interface, easy to use and a powerful source code version control.
    – Control whether a repository is public or private.
    – Protected branches, using advanced (but ease to configure) permissions settings and the capability to share small pieces of source code from a project.
    – The authentication level is a good feature in the GitLab.
    – The possibility to set Milestones to the project, facilitating the project communication.

    In conclusion, this post is really useful for those who need to do the installation and configuration of GitLab on Ubuntu. It is exactly what I need!

    Thanks for helping me!

  • amy

    Thanks! You helped me out alot!