wiki:GitLab
Last modified 21 months ago Last modified on 03/14/16 11:07:02

We've started using GitLab to house or git repos and make collaboration easier. We're running GitLab on an updated Ubuntu 12.04.2 image in our OpenStack fabric. The basic steps followed are summarized below.

Provision the OpenStack VM

Provision a medium image (2 cpu, 4GB RAM) Ubuntu 12.04 in the RCS tenant (http://os.uabgrid.uab.edu).

  • Give it the name gitlab
  • Configure the security group to allow http, https, and ssh access.
    • Note an appropriate security group needs to be attached to the the instance at provisioning time because a different security group can't be added later. You can edit the settings of a the attached security group (ie. open ports) after provisioning, you just can't swap it out.
    • Create your security group in Access and Security first
  • Select the keypair for the default admin
  • Launch the node

Provision a storage volume to house the git repo

  • Create a 100GB storage volume to house the git repos
  • Name it gitlab-repos
  • Once the volume is provisioned attached to the gitlab instance

Allocate an IP address to the RCS tenant.

  • Under Access and Security allocate and IP address to the tenant
  • The IP address of the machine is the last octet of the assigned address appended to the network 164.111.161.0

Set up DNS and request a Certificate

Set up DNS

  • Register the name gitlab.uabgrid.uab.edu with the assigned IP address with AskIT

Set up the certificate

  • Ssh to the node as the admin using the predefined keypair ssh ubuntu@gitlab.uabgrid.uab.edu
  • Create a keypair for use with https openssl ...
    • To renew follow these steps
      cd /etc/gitlab/ssl/
      openssl req -out gitlab.uabgrid.uab.edu.csr -key gitlab.uabgrid.uab.edu.key -new
      # specify the following inputs
      # Country Name (2 letter code) [AU]:US
      # State or Province Name (full name) [Some-State]:Alabama
      # Locality Name (eg, city) []:Birmingham
      # Organization Name (eg, company) [Internet Widgits Pty Ltd]:University of Alabama at Birmingham
      # Organizational Unit Name (eg, section) []:UABgrid
      # Common Name (e.g. server FQDN or YOUR name) []:gitlab.uabgrid.uab.edu
      # Email Address []:jpr@uab.edu
      
  • Submit the CSR to the UAB InCommon? cert service https://www.uab.edu/it/uabcrt/
  • When the certficate is ready upload it to the instance as gitlab.uabgrid.uab.edu.crt following the steps to enable HTTPS on gitlab

Install the GitLab Omnibus Package