This is an old revision of the document!
Gitlab
SoCS Hosts a gitlab server which is available at gitlab.socs.uoguelph.ca. git.socs.uoguelph.ca is an alias that points to the same location.
Updates
Gitlab runs on a monthly release schedule with a new version available on the 22nd of every month. The SoCS Gitlab installation is through the Gitlab Omnibus package. The update will be available in apt under gitlab-ee. Take care to check the gitlab update page for any issues or special procedures associated with a gitlab upgrade.
The gitlab container registry file permissions break each time an update is made. These can be fixed by running the /root/fix-registry-perms.sh file, and then restarting the registry component with gitlab-ctl restart registry.
License
Gitlab provides one free license per educational institution. At UoG this is held by the library - specifically Randy Oldham. The license renews each October, and Randy can provide the latest license file to upload to our gitlab instance.
Creating Repositories
All authenticated users have the ability to add their own groups and projects.
Course Repos
Instructors may want to create a hierarchy of groups to organize student assignments or labs. A typical structure would be the main course repo (CISXXXXS##), with one group per student underneath. Each student group would have a set of repos (A1, A2, L1, Project, etc). Python scripts using the gitlab API are available in the sysadmin scripts git repo. There are two scripts that need to run. Firstly, the script to create gitlab users, as users are not created automatically based on ldap entry, but upon first login. Second, the course specific script needs to be modified to list the desired repo structure and then run. These scripts can be run repeatedly over the add/drop period to add any late additions.
Gitlab Runners
A system wide gitlab runner is available on the SoCS kubernetes cluster (kubefarm.socs.uoguelph.ca). This is a helm based installation, in the gitlab-runner namespace. Configuration can be found in the kubefarm-templates git repository. The gitlab runner should be updated after each gitlab system update.