IDE
IDEs aim to provide a remote development environment as similar as possible to your local development environment.
The functionality available in your IDE can be customized, which you can configure using the ide.yaml
.
Because recreating the custom IDE image each time is time-consuming, we cache the images.
When creating an IDE, we check whether there exists already a cached image with the same configuration.
If that is the case, the cached IDE is reused; otherwise a new build is made.
IDE caches are currently valid for 7 days, after this they are purged.
The recommended way to have up-to-date builds, ready-to-use for your developers,
is to let your CI system create new caches for custom IDEs every night.
When the ide.yaml
is changed we will create new cached IDE automatically.
At the moment IDEs always run on on-demand
nodes.
In the next section we focus on how to customize your build using the ide.yaml
.
We also have the following how-to articles that can help you:
- How to launch an IDE
- How to customize an IDE
- How to use base images to share a custom IDE configuration across projects
ide.yaml
Builds can take maximally 1 hour, if they take longer they are automatically canceled
Here is a full example:
vscode:
extensions:
- ms-vscode.azure-account
buildSteps:
- name: my first build step
cmd: |
sudo apt update
sudo apt install htop -y
vscode
This block defines the settings for VS Code.
extensions
The extensions section is a list that specifies the VS Code extensions to install during the build. To find the identifier for an extension, please check our how-to-guide.
For example:
vscode:
extensions:
- ms-vscode.azure-account
buildSteps
The build steps section allows you to define scripts that need to be executed during the creation of a custom IDE. This allows you to install additional dependencies such as the AWS CLI, a postgres driver, ...
For example:
buildSteps:
- name: my first build step
cmd: |
sudo apt update
sudo apt install htop -y
buildSteps[n]name
The name of this build step.
buildSteps[n]cmd
The name of the script to be executed during installation. The specified commands will be wrapped up into a bash script and executed during the build.