Custom instance-level project templates
- Tier: Premium, Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
To speed up the creation of projects on your instance, configure a group that contains template projects. Users can then create new projects based on your templates that include the common tooling and configuration you specify.
To learn more about what data is copied from template projects, see what is copied from the templates.
Before you make template projects available to your instance, select a group to manage the templates. To prevent any unexpected changes to templates, create a new group for this purpose, rather than reusing an existing group. If you reuse an existing group created for a different purpose, users with the Maintainer role might edit the template projects without understanding the side effects.
Select a group to manage template projects
To select the group to manage the project templates for your instance:
- On the left sidebar, at the bottom, select Admin.
- Select Settings > Templates.
- Expand Custom project templates.
- Select a group to use.
- Select Save changes.
After you configure the group as a source for project templates, new projects added to this group become available as templates.
Configure a project for use as a template
After you create a group to manage the template projects, configure the visibility and feature availability of each template project.
Prerequisites:
- You must be either the administrator of the instance, or a user with a role that allows you to configure the project.
- Ensure the project belongs to the group directly, and not through a subgroup. Projects from subgroups of the chosen group can't be used as templates.
- To configure which users can select the project template, set the
project's visibility:
- Public and Internal projects can be selected by any authenticated user.
- Private projects can be selected only by members of that project.
- Review the project's feature settings. All enabled project features should be set to Everyone With Access, except GitLab Pages and Security and compliance.
Repository and database information that are copied over to each new project are identical to the data exported with the GitLab Project Import/Export.