Command Line Interface

Gitpod supports a command line interface that is available in each workspace terminal called gp:

Command line interface for Gitpod

Usage:
  gp [command]

Available Commands:
  help              Help about any command
  init              Create a new .gitpod.yml file
  open              Opens a file in Gitpod
  preview           Opens a URL in Theia's preview view
  url               Prints the URL of this workspace
  forward-port      Makes a port available on 0.0.0.0 so that it can be exposed to the internet

Flags:
  -h, --help   help for gp

Use "gp [command] --help" for more information about a command.

Init

Gitpod workspaces can be configured - see Configuring Workspaces for more details. gp init helps creating this configuration by guiding through this process and producing a gitpod.yml in the end (think npm init).

Open

Modern editors/IDE’s support command line tooling to open a file (e.g. VS Code code foo.txt). In Gitpod this can be done using gp open <filename>. We have also added common aliases for gp open: code and open.

Preview

gp preview is similar to gp open, except that it does not open a file in the editor but a URL in a preview pane on the right.

URL

Gitpod workspaces can expose services to the internet. gp url provides the URL which points to a service served from a Gitpod workspace. For example gp url 8080 prints the URL which points to the service listening on port 8080 in this current workspace.

You can combine the preview and the url command to open a certain path instead of the default URL.

For instance:

gp preview $(gp url 3000)my/path/index.html

If you put this into the .gitpod.yml to open the a certain page on startup, don’t forget to ignore the default action when the port opens.

Forward Port

In Gitpod services/servers running on a port need to be exposed before they become accessible from the internet. This process only works with services listening on 0.0.0.0 and not just localhost. Sometimes it is not possible to make a server listen on 0.0.0.0, e.g. because it is not your code and there are simply no means of configuration.

In that case, gp forward-port <port> can be used to forward all traffic form a socket listing on all network interfaces to your process listening on localhost only.

Await Port

When writing tasks to be executed on workspace start, one sometimes wants to wait for an http service to be available. gp await-port does that.

Here’s an example that will open a certain path once a service is a available:

gp await-port 3000 && gp preview $(gp url 3000)my/path/index.html
Was this helpful?