Onboarding Guide
View Help & Flags
To see help information and a list of all flags for any command, simply use the -h
flag:
devspace -h # Shows all major commands and flags
devspace dev -h # Shows sub-commands and specific flags for this command
Project-Specific Commands
The project-specific commands require that your project is already initialized, i.e. there is a devspace.yaml
config file.
Start Development
This command deploys the project and then starts the development mode:
devspace dev
Deploy Project
This command deploys the project to Kubernetes:
devspace deploy # -p / --profile production => see: devspace list profiles
Run this command to just build, tag and push all images to a registry without deploying the project:
devspace build
Port Forwarding
To get a list of all ports that are being forwarded as defined in devspace.yaml
, run:
devspace list ports
Commands
This command lists all available command:
devspace list commands
Use this command to run one of the custom commands:
devspace run command [command-name] -- --some-flag --another-flag=value
Profiles
This command lists all available profiles:
devspace list profiles
Use this command to switch to a different profile:
devspace use profile [optional:profile-name]
Use the -p
flag to just run a single command with a different profile without switching it permanently:
devspace deploy -p [profile-name]
Use this command to print the config after a profile has been applied:
devspace print -p [profile-name]
Variables
This command lists all variables as well as their values:
devspace list vars
To change the value of a variable, run:
devspace set var VAR_NAME=value # VAR_NAME_2=value2 VAR_NAME_3=value3
Use this command to reset all variables, i.e. delete variable values from the variable cache:
devspace reset vars
Use this command to print the config after all variables have been replaced:
devspace print
Dependencies
Use this command to update git-based dependencies:
devspace update dependencies
This command performs a git fetch && git pull
for all git-based dependencies.
Use this command to clear the dependencies cache:
devspace reset dependencies
Open Project
This command opens the current project in the browser:
devspace open
This command requires that the project has already been deployed.
General Purpose Commands
Open UI
This command opens the localhost development UI:
devspace ui
The localhost development UI starts automatically in the background when running: devspace dev
Stream Logs
This command streams logs of a container:
devspace logs
Terminal & Commands
This command opens an interactive terminal session for a container:
devspace enter
To run just a single command inside a container, use:
devspace enter -- my-command --my-flag=my-value ...
File Sync
This command starts an on-demand file synchronization between localhost and a container:
devspace sync
If file sync is configured in your project, it automatically starts when running: devspace dev
Clusters & Namespaces
This command sets a different namespace as default namespace for the current kube-context/cluster:
devspace use namespace [optional:namespace]
The command devspace use namespace
does not work for Loft spaces. Use devspace use space
instead.
This command creates a new space using Loft:
devspace create space [space-name]
This command switches to a different spaces:
devspace use space [optional:space-name]
This command switches to a different kube-context/cluster:
devspace use context [optional:context-name]
Advanced
Clean up Images
When using Docker for image building, disk space on your local computer can get sparse after a lot of Docker builds. DevSpace provides a convenient command to clean up all images that were built with your local Docker daemon using DevSpace. This command does not remove any pushed images remotely and just clears local images and space.
In order to clean up all created images locally, simply run the following command in your project folder:
devspace cleanup images
Clean up Docker
In addition, it also makes sense to prune your Docker environment to free additional space with the following command:
docker system prune
This command will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all build cache
These commands should free up a lot of space for new image builds to come.