New project templates (Rails, Express, Spring); with CI/CD
### Description Getting started with GitLab can be daunting. Learning all that GitLab has to offer is even more so. When starting out with GitLab (or when demoing it), it's helpful to be able to quickly create a new project from a template that has several important things already configured, such as CI/CD, review apps, etc. We can do this via copying from another vendor, or from URL, but it would be easier to just pick from 3-5 templates. e.g. Ruby on Rails, Node Express, Java Spring. Each would include our recommended best practices such as CI/CD pipelines, new issue templates, .gitignore, whatever. ### Proposal Add the ability to pick from 3 templates (Ruby on Rails, Node Express, Java Spring) in the new project dialog. I believe we should be fine just cloning a repo, but it's possible we want other project-level settings copied with the template. #### First iteration As a first iteration, we will create three templates (Rails, Express, Spring) with source code (minimal app) and a working `.gitlab-ci.yml` file to build and test it. These templates will be hosted on GitLab.com, and community members can collaborate to improve them. During the release process, a GitLab engineer will take care of packing an export-like package for each template and include it into the GitLab application, so they will be shipped with the packages. Once installed/updated, the GitLab instance will use the vendored files to "import" the new project. #### Design - [Check the design specs (for spacing, sizes, colors and text copying)](https://gitlab-org.gitlab.io/gitlab-design/hosted/pedro/ce%2332420-new-project-templates-spec-previews/) — Hide notes in the top-right corner - [Framework symbol SVGs (Ruby on Rails, Node Express, Java Spring)](https://gitlab.com/gitlab-org/gitlab-design/tree/master/progress/pedro/ci/ce%2332420-new-project-templates/production-assets) ### Links / references Future improvements #36886 ### Documentation blurb Getting started with GitLab can be daunting. Learning all that GitLab has to offer is even more so. For these reasons it's helpful to be able to quickly create a new project from a template that has several important things already configured, such as CI/CD, review apps, etc. With GitLab 9.5 we're introducing this ability and a set of templates supporting some of the most common environments: Ruby on Rails, Node Express and Java Spring. <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION --> *This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.* <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
issue