GitLab

Last updated on Oct 26, 2024

GitLab is a web-based platform that provides a complete DevOps lifecycle management tool. It offers features for version control, continuous integration, continuous delivery, and container orchestration. GitLab allows teams to collaborate on software development projects, manage repositories using Git, track issues, and automate the software delivery process. It integrates source code repositories, CI/CD pipelines, code review, and project management in a single interface. With built-in collaboration tools and a wide range of integrations, GitLab enables efficient and streamlined development workflows for teams of all sizes.

System Requirements

It is recommended to utilize a server size of 4 CPU/8 GB RAM.

Install GitLab

  1. Login to the Web Portal with a valid American Cloud account

  2. On the left navigation column choose 'Cloud Compute'

  3. Click on "Create an Instance" select your "Project" and click "Proceed"

  4. Select your location and network. Under "Choose Server Image" select "Marketplace Apps" tab and choose "Gitlab-CE 16.7.2"

  5. Fill out an email to be used for Let's Encrypt Certs and the domain name without http/https and www.

  6. After setting your environment variables, choose a server size and then click on "Add a new startup script". This will apply the environment variables you set earlier, so no further action is needed.

  7. Click on Review and Deploy once reviewed click on Deploy Now.

  8. Once the GitLab VM is deploying a DNS record can be added. The Public IP can be found under the Overview of the VM.

    Note: DNS providers have different methods of doing this, please contact your DNS provider if you are having any issues

    Example: American Cloud DNS Management, insert your GitLab instance public IP instead of 0.0.0.0

    After your domain is resolving to the correct IP address and when the script completes, your GitLab installation will be ready. This usually takes 10-15 minutes from the time you add your A records but this can vary drastically depening on your DNS provider, in a worst case scenario we have seen DNS providers take up to 24 hours before the new A records are reflected on the internet.

  9. SSH into the VM and run the following command to set the username/password for login

    
    sudo gitlab-rake "gitlab:password:reset"
    
  10. Provide username root and select the desired password for the root account.

  11. Finally, use the username root and the previously established password to sign into GitLab

Troubleshooting

  • Webpage or certs not configured correctly. Likely due to DNS service lag. A reconfigure command can resolve this issue.
  1. SSH into the VM

  2. Run command

sudo gitlab-ctl reconfigure
  • Use Gitlab-ctl to list the handlers by running
sudo gitlab-ctl status
  • To restart all handlers use the command
sudo gitlab-ctl restart

or restart a specifice handler

sudo gitlab-ctl restart {handler}

For additional information on GitLab maintenance commands click here.