How to Create GitLab Groups and Projects
SMPH department IT directors and their designees have can be delegated the capability to create GitLab sub-groups for teams in their departments and designate a group owner. You or that group owner can invite, remove, and manage the members and create projects (repositories) within that sub-group.
Step-by-step guides
Create a team/group/center/initiative-level subgroup
Information needed:
- SMPH department
- Team/group/center/initiative subgroup name
- Group visibility: public (visible to unauthenticated users), internal (visible to all authenticated users), private (visible to specific, named users)
- Group owner(s)
Steps:
- Consider routing request to the owner of the appropriate IT director. They can create projects within their subgroup.
- Navigate to the appropriate department within https://git.doit.wisc.edu/smph or https://git.doit.wisc.edu/smph-public.
- If the department subgroup does not yet exist, see Create a department-level subgroup above.
- Click on "New subgroup" then "Create group".
- Set appropriate visibility (e.g., generally "public" if it is in SMPH (Public) and internal or private if on in SMPH) and click Create group. (You can leave the other settings at their defaults.)
- Navigate to Subgroup Information > Members and invite the appropriate owners and/or other members assigning them the appropriate role. (Note that members from higher level groups will automatically inherit access.)
- Note: First ensure that they have logged into https://git.doit.wisc.edu to provision their account before you attempt to add them.
Suggested email template:
To: <sub-group owner(s)>
Subject: GitLab Group for <team/group/center/initiative>Hello,
We have created a GitLab group for your department: <link to internal and/or public GitLab group>As a group owner, you can invite, remove, and manage the group members. You and any members with the "developer" role and create projects (repositories) within this sub-group. For quick tips on creating groups and projects, see How To Create GitLab Groups and Projects.
For more information, see the SMPH IT KB doc, GitLab FAQ. A few key guidelines include:
Groups and projects under the SMPH top level group should always require authentication. Groups and projects under SMPH (Public) top level group are intended to be publicly accessible without authentication.
Projects should not exceed 2 GB in size and cannot be used to store restricted data, sensitive data, PHI or any other class of data that’s not for general consumption.
Projects should follow the SMPH GitLab – Public, Internal, Sensitive, and Restricted Data Guidelines.
Additional support:
- The DoIT Shared Tools team manages the overall service can can provide general support and advice.
- The SMPH Application Support team can provide limited assistance with group management.
- The DoIT Shared Tools team maintains a number of GitLab KB documents, including a list of other online resources.
- You can also post questions to the UW Dist Dev CoP (UW Distributed Developers Community of Practice) Tools channel in Teams.
Managing group membership
Information needed:
- Subgroup
- Member NetIDs, and roles
- Guests have limited visibility into groups.
- Developers can create projects in groups. (This can be restricted.)
- Owners can manage members and create/delete subgroups.
- Navigate to the appropriate subgroup within https://git.doit.wisc.edu/smph or https://git.doit.wisc.edu/smph-public.
- Navigate to Subgroup Information > Members and invite the appropriate members with the appropriate role. (Note that members from higher level groups will automatically inherit access.)
- Note: Invite them using their NetID. Don't use their email. If they are external to UW-Madison and do not have NetID, see GitLab for SMPH FAQ: Can external people collaborate?
- Note: First ensure that they have logged into https://git.doit.wisc.edu to provision their account before you attempt to add them.
- If no match is found for their NetID, they need to first log into https://git.doit.wisc.edu using the UW-Madison NetID option.
Create a project
Information needed:
- SMPH department
- Team/group/center/initiative subgroup for the project
- Project name
- Project "slug" (i.e., the short version of the name that is used in URLs)
- Project visibility: public (visible to unauthenticated users), internal (visible to all authenticated users), private (visible to specific, named users)
- Project owner(s)
- The owner can later add other team members.
- Optionally, they could have you add other owners, maintainers, developers, and/or guests by name or by group.
- Is the project being imported from another Git repository or GitLab instance?
- Importing from another Git repository can be done via URL.
- Importing from another GitLab instance can be done via GitLab export/import.
- See DoIT GitLab Resources for Migrating to git.doit.wisc.edu
Steps:
- Consider routing request to the owner of the appropriate team/group/center/initiative subgroup. They can create projects within their subgroup.
- Navigate to the appropriate team/group/center/initiative subgroup in https://git.doit.wisc.edu/smph or https://git.doit.wisc.edu/smph-public.
- If the team/group/center/initiative subgroup does not yet exist, see Create a team/group/center/initiative-level subgroup above.
- Click on "New project"
- Select blank or template for project, fill the subsequent form with the information you gathered, and click Create Project
- Navigate to Project Information > Members and add the appropriate owners. (Note that members from higher level groups will automatically inherit access.)
- Note: Invite them using their NetID. Don't use their email. If they are external to UW-Madison and do not have NetID, see GitLab for SMPH FAQ: Can external people collaborate?
- Note: First ensure that they have logged into https://git.doit.wisc.edu using the UW-Madison NetID option to provision their account before you attempt to add them.
Managing project team membership
Information needed:
- Project
- Member emails and roles
- Guests can view code and pages, and create comments and issues.
- Developers can view analytics, run CI/CD pipelines, move issues, create and approve merge requests, create/edit milestones and releases, create branches, push to unprotected branches.
- Maintainers can manage team members, edit web hooks and project settings, push to protected branches, manage push rules.
- Owners can rename, transfer, or delete projects.
- Navigate to the appropriate project under https://git.doit.wisc.edu/explore.
- Navigate to Project Information > Members and invite the member(s) with the appropriate role. (Note that members from higher level groups will automatically inherit access.)
- Note: Invite them using their NetID. Don't use their email. If they are external to UW-Madison and do not have NetID, see GitLab for SMPH FAQ: Can external people collaborate?
- Note: First ensure that they have logged into https://git.doit.wisc.edu using the UW-Madison NetID option to provision their account before you attempt to add them.