The first thing we have to do is install Git. As I said at the start of Chapter 1, Continuous Integration, Delivery, and Deployment Foundations, CI starts with a shared repository and this is it. Git is the immensely popular Source Control Management (SCM) tool from the creator of Linux. It shows that everything is done through the command line, and the only official user interface is so bad you might as well use the command line. Luckily, there are some third-party tools available. Aside from the tooling, Git is a really good source control system that has some benefits over its competitors. As I mentioned earlier, we are going to use GitLab (https://gitlab.com) on Ubuntu, which gives you a nice GitHub-like portal.
A good alternative for hosting your own Git server is to look for an online host. The most popular, by far, is GitHub ( https://github.com/). Personally, I use GitHub for all my personal projects. It is free but everything is open source, meaning everyone may browse and download your code. There are priced plans for private projects though. Another popular alternative is Atlassian's BitBucket ( https://bitbucket.org/), which I (am forced to) use professionally. Like GitHub, BitBucket has free and priced plans. Another benefit to using BitBucket is that it works well with other popular Atlassian products, such as SourceTree, JIRA, and Bamboo. You may skip this section altogether and use one of the online providers if you wish. If you do, be sure to follow their tutorials, as I am not going to discuss them further here.