Skip to content

GitHub Enterprise at QMUL

Octocat.png

Overview

GitHub is a web-based Git repository hosting service, which offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features. Unlike Git, which is strictly a command-line tool, GitHub provides an additional web-based graphical interface and desktop as well as mobile integration. It also provides access control and several collaboration features such as code reviews and integration with test suites.

If you regularly collaborate, or modify source code, configuration files or any other text files, we recommend GitHub as a powerful tool to manage your workflow.

Eligibility

All Queen Mary University of London currently enrolled students, student-facing faculty, and anyone performing academic non-profit research (including external collaborators) can use it free of charge.

Differences between GitHub.com and GitHub Enterprise

GitHub Enterprise offers the same functionality as the public GitHub.com offering but all data is hosted within QMUL, authenticating against QMUL servers. This allows for easy collaboration with other researchers and students while retaining full control over management and security of your data.

Which GitHub Enterprise instance should I use?

No cross-instance support

Users, repositories and organisations stored on one GitHub Enterprise instance will not be accessible on another instance. Please ensure you select the most appropriate instance to use, or contact us for assistance.

QMUL students and staff

If you are a QMUL student or member of staff, visit the https://github.qmul.ac.uk GitHub Enterprise server and authenticate with your ITS issued username and password, via the QMUL Single Sign-On (MFA) portal if prompted.

If at least one external collaborator requires access to your repositories, please see the external collaborators section below.

Please contact the ITS helpdesk if you are unable to log into https://github.qmul.ac.uk. ITS Research are unable to assist with centralised account issues.

External collaborators

If you are an external collaborator, or a QMUL researcher with external collaborators that require access to GitHub Enterprise, please use the legacy version of GitHub Enterprise (https://github.research.its.qmul.ac.uk).

If you do not have an existing account with us, you may request one here. QMUL students and staff should use the https://github.qmul.ac.uk server instead of requesting an ITS Research account.

Two-factor authentication

Once you have logged in, we strongly recommend that you enable two-factor authentication by following these instructions.

Storage of data

Git has been designed with versioning of text-based files in mind. Although it can store binary files (zip files, executables, Word documents, PDFs, etc) it is generally not advisable to use it purely for that purpose.

You should not however use it to store passwords, sensitive data (including patient identifiable data) and large binary files, as per our usage policy.

Managing your repositories

Access permissions

There are two ways to allow others to see your personal repository:

  • To allow all other members of the same QMUL GitHub Enterprise server to see a personal repository, set the visibility to public, by following these instructions.

Public Visibility

Repositories which are set as public inside GitHub Enterprise are only public to all users of the same server, not across QMUL GitHub Enterprise servers, or to the whole world. If you do want to make it truly public (world-accessible), then you have to migrate to github.com. You could host it as a part of the QMUL organisation, or under your own personal account. Please contact us if you require any migration assistance.

  • Grant a specific collaborator access to your repository, by following these instructions.

Further information on access permissions is available here.

Organisations

Organisations simplify the management of group-owned repositories on a single GitHub Enterprise server, and provide enhanced permissions control over personal repositories.

A typical use-case would be for a PI of a research lab to manage, store and collaborate on code stored in several repositories, with access control managed by designated members of the organisation. Researchers are able to store the code in the organisation repository, rather than a private one. We have disabled the ability to create organisations by normal users. If you do think you need an organisation for your project please contact us.

Github Actions

We have enabled GitHub Actions on the https://github.qmul.ac.uk server, which may be used free-of-charge for teaching or research by anyone who has access to this server.

To use GitHub Actions, you must first create a GitHub repository and then select the "Actions" tab within the repository to get started. The GitHub Actions documentation provides some useful information to help you get started with creating a GitHub Actions workflow.

One main difference between Actions on github.com and GitHub Enterprise is that the latter requires a self-hosted runner to execute workflows, which we will need to provision for you.

To request a self-hosted runner, please contact us and provide the following information:

  • The repo(s) you would like to enable GitHub Actions on (personal or organisation repositories are supported)
  • The number of runner(s) required for each repository (likely 1)
  • Your GitHub personal access token which has been granted the relevant permissions (see below). This token must be kept secure and not shared with anyone else other than ITS Research (for operational purposes only).

GitHub Actions PAT settings

Please use the following guidance when creating a new GitHub Personal Access Token (PAT) for GitHub Actions:

  • Do not re-use an existing PAT - create a new token dedicated for GitHub Actions
  • Create a new PAT for each organisation (if using organisation-level PATs)
  • Select the correct resource owner when creating the PAT
  • Select a specific repository to use the PAT with (if using repository-level PATs)
  • Ensure only the required permissions are granted ("Administration read and write" under "Repository permissions" only).

If creating an organisation-level PAT, ensure the "Self-hosted runners read and write" permission is also granted.

Support

Initially, try the GitHub support pages for Git-specific documentation. If you still need help, please contact us directly, or alternatively, contact the ITS helpdesk who will forward your request to us.

Support Requests

We kindly ask you not to contact GitHub for support directly. We will first look at your issue and when required submit relevant support request on your behalf (this is the requirement of the Terms and Conditions set by GitHub).

Resources

  • Git Pro is a helpful, free book.
  • GitHub Skills has a series of introductory self-paced classes (requires a free GitHub.com account)
  • GitHub Desktop is an official graphical client.