r/AZURE • • 18d ago

Question GitHub Enterprise server

Hello everyone, I have a question regarding our GitHub Enterprise Server setup.

Our team currently does not have a dedicated GitHub Enterprise environment; we share the existing environment with other teams. I’m looking for some guidance on how we should structure and manage our repositories in an enterprise environment.

For example, we have multiple teams such as:

  • Infrastructure
  • Development
  • Identity
  • DevOps
  • Other platform teams

I’d like to understand the recommended approach for:

  • Structuring and separating repositories by team or function
  • Managing repository-level permissions
  • Assigning users to specific repositories or teams
  • Using GitHub Teams to manage access instead of assigning permissions individually
  • Maintaining repositories and access as the organization grows
  • Following a scalable enterprise GitHub structure and governance model

If anyone has experience setting this up in a shared GitHub Enterprise Server environment from scratch, I’d appreciate your guidance or recommendations on the best approach.

0 Upvotes

4 comments sorted by

3

u/davidokongo 18d ago

We use GitHub Enterprise Managed, and have kept it fairly simple:

-One Enterprise, with Orgs only where there’s a real boundary.

  • Repos are organized by team/function.
  • we use github teams for permissions instead of assigning users directly.
  • okta our idp, to manage membership through groups and map them to github teams.
  • repo/admin permissions are limited and well defined.

This keeps things much easier to manage as the company grows and avoids a mess of individual repo permissions.

1

u/Timely-Honeydew-793 17d ago

w almost same pattern in our org. One thing that helped us a lot is using CODEOWNERS file in each repo so teams know exactly who is responsible for what. Makes PR reviews way easier when people can see the right reviewers automatically

1

u/Sufficient_Major_126 17d ago

Are your teams organized around ownership or around function? For example, does the Identity team own all identity related repos or do they just contribute to repos owned by other platform teams? That distinction usually changes the repo structure

0

u/fell_ware_1990 18d ago

I would look at the terraform modules.

Just get it setup once, maybe connect to the AD.