Add instructions for setting up review apps with new project templates
Problem to solve
We have several new project templates, and most of them it makes sense to have review apps. We can't really set it up automatically as part of the template, though, because it requires having infrastructure setup. What we can do is add documentation to each of the projects to make it clear how to take advantage of this awesome feature that is a big differentiator between GitLab and other CD solutions.
In situations where AutoDevOps is possible, that should be the preferred solution.
Target audience
-
Parker, Product Manager, https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas#parker-product-manager
-
Delaney, Development Team Lead, https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas#delaney-development-team-lead
-
Sasha, Software Developer, https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas#sasha-software-developer
-
Devon, DevOps Engineer, https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas#devon-devops-engineer
Further details
As mentioned, review apps are strategic and also one of our coolest features. If this can help drive adoption of usage of review apps, that's a huge win because it will help teams get the most out of using GitLab CD.
Proposal
The list of project templates can be found in https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/project_template.rb, which contains rows that look something like:
ProjectTemplate.new('rails', 'Ruby on Rails', _('Includes an MVC structure, Gemfile, Rakefile, along with many others, to help you get started.'), 'https://gitlab.com/gitlab-org/project-templates/rails', 'illustrations/logos/rails.svg'),
What needs to be done to update each of them is to go to the URL (in this example, https://gitlab.com/gitlab-org/project-templates/rails) and update the README with the new content. Then, the project must be exported, vendored (as per https://gitlab.com/gitlab-org/gitlab-ce/issues/46043), and then added back to this project in /vendor/project_templates
.
If you find a way to make this export/vendor/re-add process more automated, that's a nice bit of technical debt that can be fixed at the same time.
Permissions and Security
There are no additional security or permissions considerations in play here; this should follow all existing permissions around creating new projects and setting up review apps. It should be clear in the READMEs what the permissions are, so people without access to the appropriate configuration (for example, to set up the review app infrastructure) don't get confused.
Documentation
This is in a sense a documentation task, and we should be careful here to avoid duplicating documentation. The section about setting up review apps should discuss anything specific to the project, but should point to existing documentation links in order to actually offer guidance. The primary goal here is driving awareness that review apps are an option, and that it's easy, not providing in-template comprehensive documentation.
What does success look like, and how can we measure that?
+adoption of review apps