Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
GitLab
GitLab
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 34,828
    • Issues 34,828
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 1,217
    • Merge Requests 1,217
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Metrics
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GitLab.org
  • GitLabGitLab
  • Issues
  • #6860

Closed
Open
Opened Jun 18, 2018 by Andreas Kämmerle@akaemmerleContributor1 of 1 task completed1/1 task

Instance-level project templates

Problem to solve

Especially in larger projects, setting up new GitLab projects from scratch can be a repetitive task. Often, there is a lot of configuration files and boilerplate required.
We already have project templates, but these are GitLab-owned and cannot be customized (refered to as "vendor templates"). A solution to set up project templates based on actual GitLab projects is needed.

Further details

Relevant use cases for project templates on instance-level:

  • Unchanged, default templates only (you have vendored templates only)
  • As an admin, add your own templates based on a selected group (have both vendored and custom)
  • Add additional custom templates
  • Disable vendored templates (same effect as disable templates)

Proposal

Let's add the option for Administrators to select one group in the GitLab instance that holds GitLab projects that are offered as project templates, when creating a new project.

  • As an Admin I can select an (one) existing group whose projects should serve as instance-wide project templates
    • Every project within this group will be available as project template when creating a new project
  • A new default _gitlab group contains the packaged GitLab-delivered project templates
    • Move into separate issue
  • As a users I can choose from built-in vendor templates and custom instance-level project templates (if defined) when creating a new project
    • Template types are separated via individual tabs

Designs

Changing template source

Admin area → Settings → Custom project templates

set-project-template-source

Create project from a template

Built-in Custom
new-project--built-in new-project--custom

Implementation details

  • Projects are displayed as templates based on the default branch

What does success look like, and how can we measure that?

  • If a template group is defined, projects inside this group are made available as project templates when creating a new project.

Links / references

  • gitlab-ce#32420
  • gitlab-ce#36886
Edited Aug 06, 2018 by Andreas Kämmerle
Assignee
Assign to
11.2
Milestone
11.2 (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: gitlab-org/gitlab#6860