Design: Visual builder/editor for `.gitlab-ci.yml` MVC
Problem to solve
Creating your first pipeline is often a lot harder than customizing one, so to start we could create a pipeline builder. We can do a lot to hide complexity: perhaps present the information in completely different ways, such as a checkbox to enable auto deploys, which then generates several lines of YAML. This would also provide discoverability of advanced configuration options, although initially only when building a new one.
User experience goal
- Do not diverge from the established mental model of Gitlab users. The newly added feature shouldn't appear to be alienated from the rest of the
- Look at providing the simplest of interactions to add elements to a pipeline
- Take into account the various keywords and existing capabilities of .gitlab-ci.yml and look for a way to provide a simple and usable visualization for them
- Provide an alternate visual interaction for every code input for adding element to the pipeline in the .gitlab-ci.yml
- Provide real-time translation for visual to code and vice-versa
- Allow users to adjust the size of the two panels(slider)
- Provide some graph usability features such as zoom, fit in view, etc.
|Adding a stage/job||Handling keywords|