GitHub
Link to Seattle University GitHub Enterprise: Seattle University
GitHub is a proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug tracking, software feature requests, task management, continuous integration, and wikis. (GitHub - Wikipedia)
Seattle University uses GitHub for managing version/source control across both academic and operational domains.
Table of Contents
Licensing
Seattle University is part of the GitHub Education program which allows us access to many features of GitHub Enterprise for free or low cost.
Note that the GitHub Campus program does not include access to GitHub Copilot Pro or Business by default. Please see this RedHawk Hub page for more information on GitHub Copilot licensing: Generative AI Tools
Administration Structure
GitHub Enterprise is structured using nested units: Enterprise, Organizations, and Repositories. Typically, each unit will inherit permissions from its parent but there are some settings that can only be set at the child level. Both Enterprises and Organizations can contain teams, which are groups of users. These teams can then be used to assign permissions.
The image below shows a typical structure of organizations and repositories with an enterprise and how teams can be assigned permissions to those repositories.
The highest level of administration for GitHub Enterprise is the Enterprise. This contains all users, teams, repositories, organizations associated with the Seattle University GitHub enterprise.
Nested underneath this are Organizations. A GitHub organization is a shared account that allows multiple users to collaborate on projects, manage access to repositories, and organize work. At SU, organizations are used as a grouping of related projects and services for departments. GitHub refers to these as โdecoupled business sections.โ
Each organization contains one or more repositories.
Best practices for organizations and teams using GitHub Enterprise Cloud - The GitHub Blog
Ownership Model (Organizations and Repositories)
The RACI matrix below breaks down the different components/tasks associated with GitHub enterprise for organizations and repositories, and the level of responsibility associated with each team. Certain enterprise-wide responsibilities that are not relevant to organization admins are not listed here, but organization admins may be consulted on changes regarding these policies. RACI stands for Responsible, Accountable, Consulted, and Informed:
: Responsible - This refers to the person or role that performs the task or work.
: Accountable - This is the role that has ownership. They are the ones who delegate work to those responsible and have the authority to make final decisions.
: Consulted - These are the people whose input is sought for the task or decision. Their opinions are valued and they contribute to the completion of the work but they do not carry out the task.
: Informed - These are the stakeholders who need to be kept in the loop about progress and decisions, but they do not have a direct role in the task or decision. They are essentially the recipients of updates and outcomes.
ย | Enterprise Admins | Enterprise Security Mangers | Organization Admins | Repository Admins |
|---|---|---|---|---|
Enterprise billing & licensing* |
| |||
Manage organization members & teams |
|
|
|
|
Configure organization-level security settings |
|
| ย | ย |
Create & manage repositories | ย | ย | ย | ย |
Approve organization-level GitHub Apps | ย | ย | ย | ย |
Manage organization audit logs | ย | ย | ย | ย |
Configure branch protection rules | ย | ย | ย | ย |
Manage repository collaborators & teams | ย | ย | ย | ย |
Enable/disable repository features (Issues, Actions, Wikis) | ย | ย | ย | ย |
Manage repository secrets & environments | ย | ย | ย | ย |
Configure repo-level security tools (Dependabot, code scanning) | ย | ย | ย | ย |
any questions/approvals regarding enterprise billing and licesning should be directed to the enterprise admins via email at servicedesk@seattleu.edu. Final approval for billing will be directed to the Office of the Chief Information Officer (CIO).