Skip to content

Working with Linux environment

To use Linux VM based environment, use the following type for runner definition -

global:
  runner:
    os_image: ubuntu

# or use per task
tasks:
  runner:
    os_image: ubuntu
  compile:
    steps:
    - run: git --version

Currently, we support Ubuntu distribution (Jammy, 22.04 LTS) and managed by us. It has common build tools and programming language runtimes pre-installed. It's a customized image based on Ubuntu 22.04 LTS. A fresh ephemeral VM will be created on each trigger and reaped after the workflow completes.

It comes with commonly used build tools pre-installed, check toolbox for more details.

Using Docker daemon

Each workflow run gets it's own docker daemon, connected and capable of executing your Docker commands in the pipeline.

Note:

  • Currently, we only supports Docker 19.0x. If you need specific version of Docker, please contact our support.
  • The Docker daemon runs locally on the same environment for Linux VM based build environment.

Install dependencies via apt

If a dependency you need is not present in the toolbox, you can install it with Ubuntu package manager (apt) or using an alternative method possible on a Linux system.

apt-get update 
apt-get install -y <name>

For example, this installs Digitalocean CLI (doctl) in a workflow run -

...
tasks:
  deploy: # name of the task
    steps:
    ...
    - commands:
      - DOCTL_VERSION=1.48.1
      - curl -sL https://github.com/digitalocean/doctl/releases/download/v$DOCTL_VERSION/doctl-$DOCTL_VERSION-linux-amd64.tar.gz | sudo tar -xzv -C /usr/local/bin

      # OR install in $HOME/bin directory ( included in PATH by default)
      - curl -sL https://github.com/digitalocean/doctl/releases/download/v$DOCTL_VERSION/doctl-$DOCTL_VERSION-linux-amd64.tar.gz | tar -xzv -C ~/bin

      - doctl version
    ...