A workspace is an ephemeral development environment with a cloud IDE and running development environment — created per user and branch.
Workspaces do database seeding and migrations when they start to make them usable by default. They can also run different commands from production, to enable features like auto-reloading of your app server or debug mode in other tools.
More than one workspace can be running at the same time.
Workspaces run in Coherence's cloud. They do not run on your infrastructure.
Starting a workspace
Open workspace & dev preview
By default, workspaces are a VSCode instance, however we also support VI (vim) and Emacs.
Below are the various stages and lifecyle for a workspace.
After creating a workspace, Coherence will create the infrastructure, including a new disk that will persist across restarts. It will also clone your repo onto the workspace’s disk.
Each time a workspace starts, it will pull the containers for the latest commit built on the feature. If the last build did not produce containers for the commit, starting the workspace will fail.
Workspaces will time out after 30 minutes.
Deleting a workspace will destroy the infrastructure including the disk with the code on it.
Any unsaved work will be lost
Dropdown menu options:
- Open: Opens the workspace IDE (defaults to VSCode).
- Preview: Opens the workspace preview.
- Refresh: Updates the UI to reflect the state of the workspace in the cluster.
- Stop: Stops the workspace.
- Stopping the workspace will not destory the disk or cause loss of work/data.
Updating a workspace
If a workspace’s branch gets commits after it is created you will need to update it manually with
git pull via the terminal in the workspace, or using the VSCode git UI.
The following extensions are not currently supported:
[*.]withcoherence.com for them to work seamlessly.
If you would like to know how to customize your workspace, please read Add a VSCode configuration to your workspace docs.