Live preview (server side evaluation) application in Web IDE
- Backend weight: 3
- Frontend weight: 2
When working on a change in the web IDE, testing and preview is required to make sure that the change to the source results in the expected change functionally, in the same way that I would preview a change on my local before pushing the commit (e.g. run a development server and preview changes in my web browser)
This is a critical piece of the feedback loop for making more complex changes. It would also be tremendously useful for previewing changes to documentation as they will be rendered (e.g. different markdown renderers and templates mean that basic markdown previews aren't enough)
Further details
Client side evaluation already exists, but this is limited to Javascript projects that are entirely client side. This will add server side support.
This builds on mirroring changes from web ide to the web terminal https://gitlab.com/gitlab-org/gitlab-ee/issues/5276, so that as I make changes, they are mirrored from the editor, to the CI runner which will expose the HTTP service.
CI runner support for interactive web terminals is still limited, but with improved helm chart support gitlab-runner#3859 (moved) this should make it much easier by (1) creating a Kubernetes cluster though GitLab and (2) installing the GitLab Runner into the cluster. This means it will be easy to use this feature with very little effort.
Proposal
After I have enabled and configured server side evaluation, I will be able to:
- open the project in the Web IDE,
- which will launch a CI runner that contains the same version of my code, and
- run the specified command to watch and run my web server, and expose the changes on a specific port
I will be able preview these changes in the Web IDE.
Mockup |
---|