GitLab is source code collaboration software based on Git source control management. It allows users to create their own repositories and share them with other users/groups or publicly. It supports built-in project wikis, code review, and issue tracking for each project. A full list of features can be found on the GitLab website.
All code is hosted on-site on UMIACS servers and is backed up nightly. We give all UMIACS users 5 projects with a soft limit of 400Mb per project. Projects that you create inside of a group namespace still count towards your project limit. UMIACS Staff can help create Lab groups (called namespaces) and delegate authority to manage the group to one or more faculty members. Permissions are assigned within GitLab. The UMIACS AR system is not used with GitLab.
To get started, navigate to the following URL in your browser and enter your UMIACS Krb5 credentials in the "UMIACS Onsite/LDAP" tab:
Note: There might be issues connecting to GitLab if you are using an older git client. Therefore, please make sure you update your git client. If you use TortoiseGit, please make sure it is updated to versions above TortoiseGit 2.1.x.x.
GitLab Offsite Collaborators
Any UMIACS user can now create an unlimited number of offsite collaborator accounts for our Security Groups, GitLab and Object Store. These accounts can not create repositories or groups, but may be given access to your repositories or groups. You can find this utility in our Requests application under UMIACS Collaborators.
GitLab provides user documentation that can be accessed at https://gitlab.umiacs.umd.edu/help. Note: you will need to log in to view this page.
Some of the most useful sections include:
- Permissions and user roles - https://gitlab.umiacs.umd.edu/help/user/permissions.md
- GitLab markdown for wikis and READMEs - https://gitlab.umiacs.umd.edu/help/user/markdown.md
Two Factor Authentication
GitLab offers Two Factor Authentication (2FA) though a mobile device. GitLab's setup information for 2FA can be found at https://gitlab.umiacs.umd.edu/help/user/profile/account/two_factor_authentication.md#two-factor-authentication
It is recommended that you use the Google Authenticator mobile application, however the mobile application "Duo" also will work. Once the application is installed there are two ways to finalize setup.
- Scan the QR code with your phone's camera.
- Enter the details provided to add the entry manually.
After you have set up 2FA, to log in just enter the six-digit pin number from your phone when prompted.
Users can download and clone directories from the remote repository using git clone. There are two different URLs that can be used: HTTPS and SSH. You can view the URL underneath the Project title in the Project tab. Change the displayed URL by clicking on the URL type you want to see.
The SSH URL is more direct, though it is harder to set up. In order to do so, you will have to add an SSH key to your Gitlab account. Instructions to do so can be found here. Once you have the SSH key added, you can log in without having to enter any credentials from the machine and account for which you created the SSH key.
The HTTPS URL is easier to set up- you just clone directly from the repository using the HTTPS URL. However, you will have to re-enter your credentials for GitLab every single time that you attempt to commit to, push to, pull from, or otherwise access the remote repository.
Make GitLab projects public
Making projects public grants access to everyone. Projects can only made public by the owner. To make your projects on GitLab public and make repo accessible to everyone, follow the steps below: 1. Go to your projects page https://gitlab.umiacs.umd.edu/<username>/<yourProjectName>.
2. Click on Settings.
3. Scroll down to Project Visibility. Choose Public from the drop-down menu.
4. Scroll down and click on Save Changes
5. Scroll down to Repository under Project Visibility and select Everyone with access from the drop-down menu.
6. Click on Save Changes.
Now your project has become public with its repository accessible anyone with access.