[TPG] has set up a "GitLab" instance on a VM, running at https://gitlab.ucc.asn.au/

GitLab is a git repository manager, similar to GitHub, and looks to be a good replacement for gitosis+gitweb.

Setup

It's a VM on medico, with a small HDD; a separate partition is available for /var to avoid filling the disk with logs.

GitLab itself was installed from a .deb acquired from the GitLab website, which installs to /opt/gitlab.

It's now kept up to date using the GitLab package server.

GitLab has been configured (using the config file in /etc/gitlab/gitlab.rb) to store repositories in /services/gitlab. This is a mount of services:/services/gitlab (the VM is only allowed access to this subdir, safety first.)

Management

To start/restart/stop the GitLab service, use the gitlab-ctl tool.

  • gitlab-ctl start - Start the services

  • gitlab-ctl stop - Stop the services

  • gitlab-ctl reconfigure - Apply any changes from /etc/gitlab/gitlab.rb

To promote a wheel member to admin role, go to https://gitlab.ucc.asn.au/admin/users and click the "Edit" for that user, set the "Access level" to "Administrator". Notice this is a user-level flag.

There's also a short script gitlab-ascend.sh under wheel/docs/ that'll sync wheel group with gitlab admin list.



Alternatively, ssh into gitlab, then:

gitlab-rails console
foobar=User.find_by_login("<username>")
foobar.admin = 1
foobar.save
exit

(see also: https://docs.gitlab.com/ee/administration/operations/rails_console.html https://docs.gitlab.com/ee/administration/troubleshooting/gitlab_rails_cheat_sheet.html )

Documentation

Documentation of gitlab maintenance can be found at https://docs.gitlab.com/omnibus/maintenance/README.html