Deploy Gitlab, Gogs and Gitea on Hidora
Version control system (VCS)
VCS is a tool that allows you to manage changes of files, computer programs, website and other collection of data.
Each change is identified by a random combination of letter and number called “revision”. Every revision is linked to a user, a timestamp and can be compared or even restored.
It can be very difficult to manage all these revisions without using a software to control these data, but there is a lot of solutions that can administrate it like Github and Bitbucket.
Both solutions are very popular in IT domain but are hosted somewhere in the world, so you do not really know where your information is stored. This can be problematic for some companies or some people prefer to host their data in their office. There are multiple alternatives to these tools that you can install easily in a few minutes.
I would like to talk about solutions that you can use and install in a few minutes using Hidora Platform in Switzerland.
Gitlab is an open source software for collaboration between developers, where you can host and manage your projects using Git. In Gitlab, one project means one Git repository assigned to a user or a group of users which can be public or private depending on the right associated with this project. It is also possible to make a project public, which means that everybody will be able to have a look at the project without being connected.
Thanks to its friendly user interface, Gitlab allows you to have a complete overview of different issues, ongoing tasks and to do list. It is an inescapable tool to manage a web project.
As you can see Gitlab is a very powerful and complete tool for developers and for collaboration, but the added value of this software is the possibility to do Continuous Integration Continuous Delivery with Gitlab-CI and the file .gitlab-ci.yml.
If you want to use CI/CD, you need put this file write in YAML at the root of your project. It will be compiled every time when you push a commit on your project or manually via the web interface. Basically, this file describes a combination of jobs which will do some test or deployment in production, staging etc. You can find more information about how to configure .gitlab-ci.yml here.
Gogs is an open source, self-hosted Git solution very simple and fast write with Go. It means that you can install it on EVERY platform as Linux, MacOs, Windows and even ARM.
Gitea is a fork of Gogs (just below) which was created thanks to Gogs’s contributors who were frustrated by the single-maintainer management model of Gogs. It was inconvenient to have only one guy to be responsible for the improvement of the tool and the development of the project, that is why Gitea was born. So people decide to clone Gogs with a process of development faster thanks to the community.
The main goal of the project is to provide “the easiest, fastest, and most painless way of setting up a self-hosted Git service” and it possible with its programming Language – Go. Gitea can be deployed easily on different platforms as Linux, Windows and MacOS.
Its web interface is user-friendly and it is quite easy to understand how the platform works. With Gitea you will not be able to do CI/CD directly from its interface, its main features are “simple git repository” as Github. There is nothing to stop you from installing it on Linux using Docker or package, for example, Windows or macOS.
How to install it?
It is more than easy to deploy this software on Hidora Platform. You just need to create an account if you don’t have one, and then go to the marketplace, search the application you want and install it.
Now, you will be able to configure your tool and deploy your first project.