Thanks for considering a contribution to GitLab's built-in project templates.
For contributing new project templates or updating existing ones, you will need to have wget
installed.
For new templates you will also need to ensure you have gtar
and jq
installed.
If you are using the GitLab Development Kit (GDK) you will have to disable praefect
and regenerate the Procfile, as the rake task is not currently compatible with it.
# gitlab-development-kit/gdk.yml
praefect:
enabled: false
If you want to contribute to an existing GitLab Pages template, contribute to the corresponding project on https://gitlab.com/pages.
If you want to add a new template, create a public project and open an issue under https://gitlab.com/gitlab-org/gitlab for this project to be added to https://gitlab.com/pages.
Some example templates currently distributed with GitLab include:
If you'd like to contribute a new built-in project template to be distributed with GitLab, please do the following:
@
mention the relevant Backend Engineering Manager and Product Manager for the Create:Source Code group.To make the project template available when creating a new project, the vendoring process will have to be completed:
localized_templates_table
method in gitlab/lib/gitlab/project_template.rb
,spec/lib/gitlab/project_template_spec.rb
, in the test for the all
method, andgitlab/app/assets/javascripts/projects/default_project_templates.js
.localized_ee_templates_table
method in gitlab/ee/lib/ee/gitlab/project_template.rb
,gitlab/ee/spec/lib/gitlab/project_template_spec.rb
, in the enterprise_templates
method, andgitlab/ee/app/assets/javascripts/projects/default_project_templates.js
.gitlab
project, where $name
is the name you gave the template in gitlab/project_template.rb
bin/rake gitlab:update_project_templates[$name]
bundle_repo
script. Make sure to pass the correct arguments, or the script may damage the folder structure.$name.tar.gz
) to gitlab/vendor/project_templates
and remove the resulting build folders tar-base
and project
bin/rake gettext:regenerate
in the gitlab
project and commit new .pot
fileChangelog: added
). For more information, see Changelog entries.yarn run svgs
on gitlab-svgs
project and commit resultgitlab-svgs
project to master. This involves:
gitlab-svgs
gitlab-org/gitlab
master
to pick up the new svgsExisting templates are available in the project-templates group.
To contribute a change, please open a merge request in the relevant project and mention @gitlab-org/manage/import/backend when you are ready for a review.
Then, if your merge request gets accepted, either open an issue on
gitlab
to ask for it to get updated, or open a merge request updating
the vendored template using these instructions.