GitLab

by v12.9 | Debian 9

Most popular self-hosted Git tool to manage the DevOps lifecycle.

Simplify your toolchain and speed up software development with GitLab. As a complete DevOps platform, GitLab provides a CI/CD toolchain through one interface. At its core, GitLab serves as a centralized Git repository with all the features to plan, test, and release even faster. Customize workflows to make it work for your project or organization. Capabilities on GitLab scale from small teams to enterprise companies, with more than 100,000 customers across the world. Use GitLab to run Docker using custom images and a built-in container registry.

Software Included

The GitLab One-Click App will install the following required software on your Linode:

SOFTWAREDESCRIPTION
GitLabRemote Git repository software.
PostfixPostfix is a free and open-source mail transfer agent that routes and delivers electronic mail.
UFWFirewall utility. Ports 22/tcp, 80/tcp, 443/tcp, 25, 587, and 110 for IPv4 and IPv6 will allow outgoing and incoming traffic.
Fail2BanFail2Ban is an intrusion prevention software framework that protects computer servers from brute-force attacks.

Deploy a GitLab One-Click App

  1. Log in to your Linode Cloud Manager account.
  2. From the Linode dashboard, click on the Create button in the top right-hand side of the screen and select Linode from the dropdown menu.
  3. The Linode creation page will appear. Select the One-Click tab.
  4. Under the Select App section, select the GitLab app.
  5. Once you have selected the app, proceed to the app’s Options section and provide values for the required fields.

GitLab Options

You can configure your GitLab App by providing values for the following fields:

FIELDDESCRIPTION
DomainYour GitLab site’s domain name. This domain will also be used by Postfix to send mail. Setting a value for this field will not automatically set up DNS for your app, so be sure to follow the DNS instructions in the Access your GitLab Site section. If you do not have a domain name, you can leave this field blank and Postfix will use your Linode’s default Reverse DNS to send email instead (i.e. [email protected]). Advanced Configuration.

Note About Email at Linode
This guide may involve or result in sending email. In an effort to fight spam, Linode restricts outbound connections on ports 25, 465, and 587 on all Linodes for new accounts created after November 5th, 2019. For more information, please see Sending Email on Linode.

GitLab Options

After GitLab has finished installing, you will be able to access your GitLab site over http:// with your Linode’s IPv4 address or the domain name entered when deploying your GitLab One-Click App.

Access your GitLab SitePermalink

  1. Access your GitLab instance:
    With your Linode’s IP AddressYou will be able to access your GitLab site by copying your Linode’s IPv4 address and entering it in the browser of your choice. To find your Linode’s IPv4 address:
    i. Click on the Linodes link in the sidebar. You will see a list of all your Linodes.
    ii. Find the Linode you just created when deploying your app and select it.
    iii. Navigate to the Networking tab.
    iv. Your IPv4 address will be listed under the Address column in the IPv4 table.
    v. Copy and paste the IPv4 address into a browser window. Ensure you are using http://.

2. Once you have accessed your GitLab site, you will be brought to GitLab’s password reset screen. Provide a secure password for the administrator’s account:

GitLab Login Reference Image

3. You will be redirected to the login screen. Enter root as the username and the password you just created to log in. You can now begin creating GitLab repositories, users, and more. See GitLab’s official documentation for more information.

Add a Domain after Deploying your GitLab Instance

If you configured your GitLab One-Click App without providing a domain, you can configure one after the app has been deployed. Begin by setting up DNS for your domain:

  1. Create an A record associated with the IPv4 address for your Linode. Review the DNS Manager guide for instructions on setting up DNS records.
  2. Wait for your new DNS records to propagate to your internet service provider.

After setting up DNS, you will need to update your GitLab instance’s /etc/gitlab/gitlab.rb file with your domain name. This will ensure that any emails sent to users by the GitLab instance will use your site’s domain.

  1. Connect to your Linode via SSH.
  2. With a text editor of your choice (nano, for example), open the /etc/gitlab/gitlab.rb file and modify the value of external_url. Ensure you replace http://example.com with your domain:
## GitLab URL
##! URL on which GitLab will be reachable.
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url 'http://example.com'

3. Issue the following command to enable your new configuration:

gitlab-ctl reconfigure

4. Navigate to the domain in a browser window and verify that you are directed to your GitLab instance.

This One-Click App was built by Linode. For support regarding app deployment, contact Linode Support via the information listed in the sidebar. For support regarding the tool or software itself, visit GitLab Support.