[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 [[https://about.gitlab.com/update/|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("")
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