Introduction to GitLab Community Edition
Gitlab community edition is defined as a version or a particular form of the web-based tool for DevOps lifecycle management that also brings in management in Git repository by providing wiki for documentation, platform to track issues and features to enable continuous integration and pipeline for deployment. All these features are through an open-source license developed by GitLab Inc. There are various other editions present in the platform of GitLab, ranging from the Enterprise version to the community edition. Each of these editions has its own set of features tagged to the usability and availability of individualistic features against only a special edition. In this article, we will look into different aspects of the community edition of GitLab.
Gitlab community edition Overview
By the definition of GitLab, we understand that the application is built on an open core model. As an overview of this type of model, it is a way of creating, delivering and capturing value in the context of usage of application through which the Gitlab organization monetizes the product that is commercially marketed as open-source software. The ones that are present in the open-source software are the ones that fall under the genre of group where the copyright holder grants the license to use, study, modify or even distribute along with its source code for any audience and for any purpose. Furthermore, these software lists in the genre of open source are developed in a collaborative public manner and is termed an open collaboration.
By the virtue of the working of the open core model, a smaller sub set of the features, also known as the “core” feature, are provided to the users as a free and limited feature version of the entire application, but if required, the user can upgrade to the “commercial” version by subscribing to the add-on in the proprietary version of the application. Though one might argue that the open core model is not a true open-source software, Gitlab still exists as one of those genres, and the topic is still controversial.
The community edition of Gitlab is the open-source version of Gitlab. This version of Gitlab doesn’t constitute any proprietary code from Gitlab. If we are talking about functionality, we would be looking at the free tier of the enterprise version.
Gitlab community edition Pricing
In terms of pricing, as we have already talked about that this version is free to use under the MIT Expat license. A quick look through on this type of license is that, with this type of license, one can do whatever with the application given that the original copyright and the notice of license are included in all the copies of the software that is launched or distributed. However, what one can’t do with this type of license is that the author is not liable to be held for anything that goes not in accordance to the use case, although one can surely open an issue to get it fixed, and one must also remember that the development is community-led and hence the reason one can’t someone accountable.
In terms of usage, one can use the community edition commercially, modify, distribute, and sublicense it along with use it for personal needs. This essentially means one can do anything they want with this version, except keeping in mind that the copyright and the license need to be incorporated in distribution that is made in the respect.
How to Install GitLab Community Edition
For the reference, we would look at installing the Gitlab community edition in the Ubuntu server. Although some perspectives would change viz. commands, versions of the pre-requisites, but the essential flow and the gist of the installation would remain the same.
Firstly, we would need to go through the pre-requisites that are:
- Ubuntu Server
- RAM (min. 4GB though 8GB is desirable)
- Privileges of a root user, account on which the community edition is getting installed
Step 1: Once the pre-requisites are met, we would then need to update all the available repositories and update all the packages in the system by running:
sudo apt update
sudo apt update -y
Step 2: When all the upgradations are done, we need to install GitLab dependencies viz. curl, postfix and ca-certificates, which will assist further in the installation process. In order to perform the installation, we would execute:
sudo apt install curl postfix openssh-server ca-certificates -y
Step 3: For an easy installation, we will look at installing Gitlab by using the omnibus packages. We use omnibus because all packages, services, and tools required for smooth running are installed in one go! In this step, we will first assign the Gitlab repository with the curl command by running:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Once we have run the above command, we would use the apt command to install the Gitlab Community Edition using the apt command.
sudo apt install gitlab-ce -y
After executing the above command, we would need to wait for a few minutes to get a message that the Gitlab version is installed. Once done, we would need to configure the URL domain and include gitlab.example.com to access Gitlab. The file under which this change needs to be made is: /etc/gitlab/gitlab.rb
Step 4: Once the domains are configured, Letsencrypt certificate and DHPARAM needs to be generated by running sudo apt install letsencrypt -y and then running the letsencrypt command with required parameters.
Step 5: The files created above are stored, and the corresponding address is edited in the /etc/gitlab/gitlab.rb location. ssl_dhparam consists of the DHPARAM file that got created. Post these changes; we would need to run the command sudo gitlab-ctl reconfigure
Step 6: Last but not least, the UFW firewall needs to be configured as per the requirement of the application!
In this article, we have discussed the entire scope of Gitlab as an application looking into its overview to the pricing, the usage, including the ways of installing the Gitlab community version. Overall this article will provide the readers with the required assistance to see if they need a community edition or would have to upscale to enterprise version in accordance with the use case.
This is a guide to GitLab Community Edition. Here we discuss the entire scope of Gitlab as an application looking into its overview to the pricing. You may also have a look at the following articles to learn more –