How to deploy GitLab in Azure


What is GitLab? It’s a self-hosted Git management platform and open-source Continuous Integration (CI) server. You can also perform code reviews and collaborate with merge requests, it also includes an issue tracker and a wiki by project.

So do you use git? need a remote repo? would like to track bugs and merge fixes and features? Then follow the simple tutorial below.

You can search the Azure Marketplace for this any many other solutions or you can use the Azure Portal which is what we are going to do.

Step 1: Deploying GitLab from the Azure Marketplace

  1. Navigate to portal.azure.com
  2. Click + New
  3. Search for “GitLab” in the search box & submit
  4. Click GitLab by Bitnami
  5. Click Create

Step 2: Configuring the Virtual Machine

GitLab like many solutions in the Azure Marketplace is a pre-configured virtual machine image, so you will need to define what kind of VM you need.

  1. Basics: Configure basic settings
    * Enter a Name for the Virtual Machine
    * Enter a User name for the default admin/root account
    * Select your preferred Authentication type & enter a password or SSH public key
    • For Linux it’s recommended to use SSH Public Key. How to generate an SSH key on Windows & Mac/OSX.
    • Select the subscription to deploy the VM in.
    • More often than not you will not need to change this.
    • For Resource Group select an existing one (if this deployment is related to previous resources in Azure) or create a new one.
    • Not sure what a Resource Group is? A resource group is a container that holds related resources for an application. The resource group could include all of the resources for an application, or only those resources that are logically grouped together. Read more resource groups.
    • Select a Location for the virtual machine
  2. Size: Choose virtual machine size
    * Unless you are a large organization with hundreds of projects a smaller VM size like A1 should be more than enough.
  3. Settings: Configure optional features
    * All the defaults here are just fine
    * Click OK
  4. Summary
    * Click OK
  5. Buy
    * GitLab itself is free, however the VM it will be deployed on has a cost (based on the size and disk options you chose).
    * Click Purchase

In a few minutes you will have your new VM with BitLab already installed, network & endpoints configured and everything ready to get you going!

Step 3: Custom FQDN

To make it easier for your team to collaborate you should assign a custom fully qualified domain name to your VM.

  1. In the dashboard for your VM you will see it’s public IP, clicking on it will open the settings blade.
  2. Click Configuration
  3. Enter a custom DNS name
  4. Click Save

For more on custom domain names check out Create a Fully Qualified Domain Name in the Azure portal.

What about backups?

The disks in your VM are (and all of Azure Storage) already triple redundant so Azure protects you from data loss right out the gate. Learn more about Azure Storage replication.

Next Steps

Need to know more about GitLab check out their documentation.

For more solutions that can be easily deployed check out the Azure Marketplace Gallery.

Follow me, @marc_gagne on Twitter.

Comments (2)

Cancel reply

  1. Sytse 'Sid' Sijbrandij says:

    Thanks for writing about GitLab! Please know that we recommend using the Omnibus installation instead of the Bitnami images. From https://about.gitlab.com/installation/ “An example of this are the Bitnami packages in the past couldn’t be updated and are now much harder to update than the Omnibus packages.”

    1. Marc Gagne says:

      Thanks for the comment Sid! The goal of this video series is to promote great solutions in the Azure Marketplace, but I agree after reading the documentation that Ombinbus is the preferred method from you all at GitLab. Perhaps we could chat about getting a template in the Azure Marketplace that automates the setup using a base Ubuntu image and scripts the install? Feel free to reach out to me marc.gagne@microsoft.com

Skip to main content