GitLab: Difference between revisions

From UMIACS
Jump to navigation Jump to search
No edit summary
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
GitLab is source code collaboration software based on [https://git-scm.com/ 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 [https://www.gitlab.com/gitlab-ce GitLab] website.
GitLab is source code collaboration software based on [https://git-scm.com/ 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 [https://www.gitlab.com/gitlab-ce 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.
All code is hosted on-site on UMIACS servers and is backed up nightly.  We give all non-[[ClassAccounts |class account]] UMIACS users 10 projects with a hard limit of 800Mb per project.  Projects that you create inside of a group namespace still count towards your project limit.  UMIACS Staff can help create Lab groups and delegate authority to manage the group to one or more faculty members.  Permissions are assigned within GitLab.


To get started, navigate to the following URL in your browser and enter your UMIACS credentials:
To get started, navigate to the following URL in your browser, you will be redirected to UMIACS Single Sign On where you can login with your UMIACS credentials:


   https://gitlab.umiacs.umd.edu
   https://gitlab.umiacs.umd.edu
Line 9: Line 9:
   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.  
   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.
   If you use TortoiseGit, please make sure it is updated to versions above TortoiseGit 2.1.x.x.


==GitLab Offsite Collaborators==
==GitLab Offsite Collaborators==
Line 18: Line 17:


==User Documentation==
==User Documentation==
GitLab provides user documentation that can be accessed at https://gitlab.umiacs.umd.edu/help.  <b>Note:</b> you will need to log in to view this page.
GitLab provides user documentation that can be accessed at https://gitlab.umiacs.umd.edu/help


Some of the most useful sections include:
Some of the most useful sections include:
Line 24: Line 23:
* GitLab markdown for wikis and READMEs - https://gitlab.umiacs.umd.edu/help/user/markdown.md
* GitLab markdown for wikis and READMEs - https://gitlab.umiacs.umd.edu/help/user/markdown.md


==Two Factor Authentication==
==Repository URLs==  
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  
Users can clone git repos over either SSH or HTTPS. '''We recommend using SSH because it is more convenient for most users.'''  The blue "Clone" button in the upper-right corner of your GitLab project page will contain the clone URL for whichever authentication method you prefer.


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.  
===SSH===
* Scan the QR code with your phone's camera.  
To use SSH, add an SSH key to your GitLab account. Instructions to do so can be found [https://gitlab.umiacs.umd.edu/help/user/ssh.md here]. Once you have the SSH key added, you can authenticate without having to enter any credentials from the machine and account for which you created the SSH key (if your key is not password-protected).
* 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.
==Repository URLs==
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.
===SSH===
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 [https://gitlab.umiacs.umd.edu/help/ssh/README 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.
===HTTPS===
===HTTPS===
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.
The HTTPS URL can be used as well, but you will need to setup Personal Access Tokens in order to connect. Instructions to create one can be found [https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html here]. Once you have a token, you can use that as your password when prompted. 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==
==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:
Making projects public grants access to everyone. Projects can only made public by the owner. To make your projects on GitLab public, follow the steps below:
1. Go to your projects page https://gitlab.umiacs.umd.edu/<username>/<yourProjectName>.
 
  For example: https://gitlab.umiacs.umd.edu/suzantrt/someNewAwesomeProject
1. Go to your project page.
 
2. Click on '''Settings'''.
2. Click on '''Settings'''.


Line 55: Line 47:
6. Click on '''Save Changes'''.
6. Click on '''Save Changes'''.


 
Now your project has become public with its repository accessible by anyone.
Now your project has become public with its repository accessible anyone with access.

Latest revision as of 15:23, 21 February 2024

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 non-class account UMIACS users 10 projects with a hard limit of 800Mb per project. Projects that you create inside of a group namespace still count towards your project limit. UMIACS Staff can help create Lab groups and delegate authority to manage the group to one or more faculty members. Permissions are assigned within GitLab.

To get started, navigate to the following URL in your browser, you will be redirected to UMIACS Single Sign On where you can login with your UMIACS credentials:

 https://gitlab.umiacs.umd.edu
 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.

User Documentation

GitLab provides user documentation that can be accessed at https://gitlab.umiacs.umd.edu/help

Some of the most useful sections include:

Repository URLs

Users can clone git repos over either SSH or HTTPS. We recommend using SSH because it is more convenient for most users. The blue "Clone" button in the upper-right corner of your GitLab project page will contain the clone URL for whichever authentication method you prefer.

SSH

To use SSH, 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 authenticate without having to enter any credentials from the machine and account for which you created the SSH key (if your key is not password-protected).

HTTPS

The HTTPS URL can be used as well, but you will need to setup Personal Access Tokens in order to connect. Instructions to create one can be found here. Once you have a token, you can use that as your password when prompted. 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, follow the steps below:

1. Go to your project page.

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 by anyone.