nodeshift-archived / ubi8-s2i-web-app

Apache License 2.0
26 stars 28 forks source link

Developer workflow optimizations #8

Closed lance closed 6 years ago

lance commented 6 years ago

Something we need to continue to give some thought to is what the developer experience will be when working on an application. The primary use case is where the developer works on the project locally using whatever build/dev tools the framework provides (e.g. ng), and then only deploys when development is "complete" (for some value of completeness). But there will be times when the developer wants or needs to make changes in a running container for testing purposes. The OpenShift solution for this is typically rsync the working directory on the container, and that may be sufficient. But we should be sure about that and document it.

lholmquist commented 6 years ago

This is sort of what i was talking about in the meeting today.

Currently if a user builds and deploys their application with this image not using a chain build, then this images "run" phase will serve the build output using the serve module.

Lets take a react app as an example. If someone is creating a react application locally, they usually do a npm start which starts the app in development mode, which watches for edits and recompiles/reloads the application. I'm going to call that the dev server.

What if the run phase was able to run this dev server on openshift, then locally, the user can run oc sync --watch .... which will keep their local code and the remote pod in sync. which should also trigger the dev server to recompile.

of course the example i just showed was with react, but angular/ember/....'s dev server could probably be easily be substituted.

lance commented 6 years ago

@lholmquist agree this sounds like a good use case and workflow to hammer out.