.gitpod.yml
file instructs Gitpod on how to prepare and build a project, such as starting development servers and configuring Prebuilds. Below is a full reference of all available properties. To see the underlying schema, please refer to gitpod-io/gitpod
in the gitpod-io/gitpod repository.
additionalRepositories
additionalRepositories is currently in Beta. Send feedback.Defines additional source control repositories to clone and where the repository is cloned under
/workspaces
Type | Default |
---|---|
object | <empty> |
/workspaces/
https://github.com/gitpod-io/demo-multi-repo-backend
is cloned to /workspaces/backend
before
, init
and command
tasks are executed as per normal.
If you need to run commands (such as package installation or compilation) on the source control repositories which have been cloned then change your working directory to the use configured or default checkoutLocation
location using the before
task.
Example
checkoutLocation
/workspace
.
In most cases, this is not needed. If you work on an older Go project, please see the Go Language Page for more details.
Type | Default |
---|---|
string | /workspace |
coreDump
coreDump
property is not required. However, it can be a valuable feature to debug C++, or when debugging add-ons in Rust, Python, or node.js.
Type | Default |
---|---|
object | <empty> |
softLimit
and hardLimit
values (see example below). The setting softLimit
configures the upper limit on the size of the core dump file that will be produced if a process receives a core dump signal, while hardLimit
allows setting a hard limit to act as a ceiling for the soft limit.
getrlimit
env
Type | Default |
---|---|
object | <empty> |
gitConfig
Type | Default |
---|---|
object | <empty> |
github
Heads up! Gitpod no longer uses the GitHub App on GitHub repositories and hence thegithub
configuration in your.gitpod.yml
file will have no effect. To enable prebuilds on a repository, see Configuring prebuilds instead. To continue having easy access to creating workspaces withoutgithub.prebuilds.addBadge
orgithub.prebuilds.addComment
, you can use the Gitpod browser extension.
Type | Default |
---|---|
object | <empty> |
image
ubuntu:latest
.
To see a list of Gitpod-provided images, please see gitpod-io/workspace-images.
Type | Default |
---|---|
object or string | gitpod/workspace-full |
image.file
Type | Default |
---|---|
string | <empty> |
image.context
image.context
. This is useful when you want to copy files into the Docker image. The Docker docs describe this in more detail.
Type | Default |
---|---|
string | <empty> |
jetbrains
JetBrains is currently in Beta · Send feedback.Define the integration between Gitpod and JetBrains IDEs.
Type | Default |
---|---|
object | <empty> |
jetbrains.plugins
JetBrains plugin support (via gitpod.yml) is currently in Beta · Send feedback.Define a list of plugins which should be installed for all compatible JetBrains IDEs when starting a workspace. To find the plugin identifier, from the JetBrains Marketplace, find the desired plugin, open the ‘Versions’ tab, select any version and copy the ‘Plugin ID’ (like
${publisher}.${name}
).
Type | Default |
---|---|
array | <empty> |
jetbrains.[product]
JetBrains is currently in Beta · Send feedback.Define the integration between Gitpod and a specific JetBrains IDE. Install plugins and configure prebuilds to speed up the IDE indexing. Specify the ‘product’ with one of the following values:
intellij
goland
pycharm
phpstorm
Type | Default |
---|---|
object | <empty> |
jetbrains.[product].plugins
JetBrains plugin support (via gitpod.yml) is currently in Beta · Send feedback.Define a list of plugins which should be installed for the given JetBrains IDE when starting a workspace. To find the plugin identifier, from the JetBrains Marketplace, find the desired plugin, open the ‘Versions’ tab, select any version and copy the ‘Plugin ID’ (like
${publisher}.${name}
).
Type | Default |
---|---|
array | <empty> |
jetbrains.[product].prebuilds
JetBrains prebuilds support (via gitpod.yml) is currently in Alpha · Send feedback.Define whether Gitpod enables prebuilds for a specific JetBrains IDE.
Type | Default |
---|---|
object | <empty> |
version
is defined as follows:
Type | Default | Values |
---|---|---|
string | stable | stable , latest , both |
jetbrains.[product].vmoptions
Configuration of JVM options (via gitpod.yml) is currently in Alpha · Send feedback.Configure JVM options for a specific JetBrains IDE.
Type | Default |
---|---|
string | <empty> |
ports
Type | Default |
---|---|
array | <empty> |
ports[n].name
gp ports list
and in the Port
column inside of the ports list in VS Code Browser and Desktop.
More detail
Type | Default |
---|---|
string | <empty> |
ports[n].description
gp ports list
.
You can find the port’s description in the ports view table column, following the Address
field (the same description can be found in the Remote Explorer
as a tooltip [on hover] of the port).
Type | Default |
---|---|
string | <empty> |
ports[n].onOpen
Type | Default | Values |
---|---|---|
string | <empty> | open-browser ,open-preview ,notify ,ignore |
open-preview
will behave exactly the same as open-browser
, as there is no functionality for a web preview in the JetBrains IDE.
ports[n].port
3000-3100
.
Type | Default |
---|---|
number or string | <empty> |
ports[n].visibility
Type | Default | Values |
---|---|---|
string | private | private ,public |
ports[n].protocol
Type | Default | Values |
---|---|---|
string | http | http , https |
tasks
Type | Default |
---|---|
array | <empty> |
tasks[n].before
init
and the main command
. This command is executed on every start and is expected to terminate. If it fails, the following commands will not be executed.
Learn more about Start Tasks in the docs.
Type | Default |
---|---|
string | <empty> |
tasks[n].command
before
and init
. This command is executed last on every start and doesn’t have to terminate.
Learn more about Start Tasks in the docs.
Type | Default |
---|---|
string | <empty> |
tasks[n].env
env
property or configure a Repository Environment Variable.
Type | Default |
---|---|
object | <empty> |
tasks[n].init
before
and the main command
.
This task is executed only once. When you start a workspace that does not have a prebuild, init
is executed at workspace start. When you start a workspace that has a prebuild, init
executes as part of the prebuild, but does NOT execute again at workspace start.
This task is expected to terminate. If it fails, the command
property will not be executed.
Learn more about Start Tasks in the docs.
Type | Default |
---|---|
string | <empty> |
tasks[n].name
Type | Default |
---|---|
string | <empty> |
tasks[n].openIn
tasks[n].openMode
Type | Default | Values |
---|---|---|
string | <empty> | tab-after ,tab-before ,split-right ,split-left |
split-top
and split-bottom
are deprecated values.
tasks[n].prebuild
init
task instead.
mainConfiguration
mainConfiguration is currently in Beta. Send feedback.Defines the repository with the main
.gitpod.yml
file and makes it possible to open the same workspace from any issue, branch or other context URL from any repository defined in a multi repository configuration.
Type | Default |
---|---|
string | <empty> |
vscode
Type | Default |
---|---|
object | <empty> |
vscode.extensions
${publisher}.${name}
. For example: ‘vscodevim.vim’.
Please note, Gitpod uses the Open VSX registry to find extensions. If you cannot find an extension you know exists in your local VS Code, please get in touch with us or open a new PR in the open-vsx/publish-extensions repository to add the extension to Open VSX 🙏.
Type | Default |
---|---|
object | <empty> |
workspaceLocation
/workspace
.
In most cases, this is not needed. If you work on an older Go project, please see the Go Languages page for more details.
Type | Default |
---|---|
string | /workspace |