Skip to main content
Version: 0.17.2

Build a CI Pipeline

Welcome to Dagger, a programmable tool that lets you replace your software project's artisanal scripts with a modern API and cross-language scripting engine.

Dagger helps you create a consistent, reliable development and testing environment on your local host and ensure that everything your CI can do, your local environment can do too.

Topics​

This quickstart introduces you to:

  • The Dagger API, which lets you use core primitives to stitch together powerful pipelines out of containers, artifacts, network services, and secrets – all in type-safe Go, Python, TypeScript, PHP, or Java.
  • Dagger Functions, which let you encapsulate code into software components which can be loaded into any Dagger Engine, and called by other Dagger Functions.
  • The Dagger CLI and the Dagger Shell, which let you create and run Dagger Functions from the command line.
  • Dagger Cloud, which lets you visualize your Dagger pipelines, streamline them, and debug errors.
  • The Daggerverse, which lets you search and consume publicly available Dagger Functions.

Goal​

After going through this quickstart, you will have the tools and skills to test, build and release your application using Dagger Functions.

Approach​

This quickstart is structured as a hands-on workshop, in which you will create and run Dagger Functions to test, build and publish an example application.

  • To begin, you will build a delivery pipeline for the example application using only the Dagger API. This is an important first step to learn how Dagger works and to understand key concepts and techniques.
  • Next, you will simplify the pipeline using a Dagger module from the Daggerverse. This introduces you to the Daggerverse and the reusability benefits it offers.

Requirements​

This quickstart will take you approximately 25 minutes to complete. You should be familiar with programming in Go, Python, TypeScript, PHP, or Java.

Before beginning, ensure that:

  • you know what Dagger is.
  • you have Git and a container runtime installed on your system and running. This can be Docker, but you can also use Podman, nerdctl, or other Docker-like systems.
  • you have a GitHub account (optional, only if configuring Dagger Cloud)