Last Reviewed: 2020-05-25
Thanks for visiting the direction page for Templates in GitLab. This page belongs to the Import group of the Manage stage and is maintained by Haris Delalić who can be contacted directly via email. This vision is a work in progress and everyone can contribute. If you'd like to provide feedback or contribute to this vision, please add them as comments in the corresponding epic for this category.
Project templates make it easy to setup a new project by starting from an existing one that already has all the required configuration, files, and boilerplate. GitLab provides a variety of templates as a starting point for creating new projects and it's also possible to contribute to these; administrators can even configure templates specific to your GitLab instance.
We already have dozens of templates for common implementations: Project templates, CI YAML templates, Pages templates, and even example projects. Don't see a template that you wish we had? Please consider contributing that template to GitLab.
GitHub offers "Starter Workflows" to get started with GitHub Actions. These are templates for popular continuous integration workflows written in YAML. The YAML file is dependent on a corresponding .properties.json file that defines the metadata about the workflow.
Jenkins' concept of "pipeline template" involves two other components, libraries and configuration files. The pipeline template defines "stages" which depend on "libraries" to specify the jobs to be executed for each stage, while the configuration file specifies which libraries are used. Reusable templates are consolidated and managed under a governance structure using Jenkins Templating Engine (JTE), a templating plugin.
CircleCI provides sample configuration files (Sample 2.0 config.yml Files) to guide the user, along with CircleCI Orbs' importable jobs as building blocks for creating a configuration file.
The Import group is currently focused on the maintenance and stability fixes for the existing Templates functionality. There are no new features being planned in the short-term.
The long-term strategy includes the following features, which have been identified as priority for this category:
While we continuosly evaluate new template ideas, no new templates are being planned at this time. However, we encourage anyone to contribute new templates to GitLab and we will actively support those efforts.