Delv
Depot
Getting Started Guide

How to Use Depot

A practical guide to get you up and running with Depot. Written by Delv Editorial, Delv Team.

Getting started with Depot

In this guide, you'll learn how to set up Depot and create your first container build using its intelligent caching feature. By the end, you'll be able to streamline your CI/CD processes and improve build times significantly.

Step 1: Sign up and set up

  1. Go to depot.dev.
  2. Click on the Sign Up button in the top right corner.
  3. Enter your email address and create a password, then click Create Account.
  4. Check your email for a verification link and click it to verify your account.
  5. Log in to your new account.

Step 2: Your first container build

  1. After logging in, click on the New Build button on the dashboard.
  2. Choose a repository from the list or connect a new one by clicking Connect Repository.
  3. Select your desired branch and click Next.
  4. Configure your build settings by specifying the Dockerfile path and any build arguments.
  5. Click Build Now to start the build process.
  6. Monitor the build progress on the dashboard. Once complete, you’ll see a summary of the build and any cached layers that were reused.

Step 3: Get better results

  1. To optimise your builds, ensure your Dockerfile is structured to take advantage of caching. Place frequently changing commands (like COPY for application code) towards the end of the file.
  2. Use the Build Settings to adjust caching options if necessary. Make sure Enable Caching is ticked to benefit from persistent intelligent caching.
  3. Regularly check the Build History to analyse which layers are being cached effectively and adjust your Dockerfile accordingly.

Pro tip

Consider using multi-stage builds in your Dockerfile. This can significantly reduce the size of your final image and speed up the build process by caching intermediate layers more efficiently.

Common mistake to avoid

Avoid making frequent changes to the early layers of your Dockerfile, as this will invalidate the cache for all subsequent layers. This can lead to longer build times, negating the benefits of intelligent caching.