Hello, and welcome to the Dagger workshop!
This document gives you all the information you need to get your laptop configured and ready to code with Dagger!
In this 90-minute workshop, you will build a simple CI pipeline for a GitHub project using Dagger. You will:
- Understand what Dagger is
- Build a working CI pipeline with build/test/publish functionality using Python (no YAML or shell scripts!)
- Run the pipeline locally on your laptop
- Transfer the pipeline to GitHub Actions
- Run the pipeline in GitHub Actions
- Learn how to inspect pipeline runs, identify bottlenecks, and debug failures
Before we get started, make sure you have the following:
- A laptop with internet access
- Basic knowledge of Docker and CI/CD pipelines (helpful, but not mandatory)
- A GitHub account
- A code editor (VS Code recommended)
-
Install Docker
Dagger requires a container runtime installed on the system. This can be Docker, Podman, nerdctl, or other Docker-like systems. We recommend Docker for this workshop.
-
Install Docker Compose
Docker Compose is required to explore the sample project used in the workshop.
-
Install Dagger
The Dagger CLI is your primary entrypoint to Dagger. It lets you call the Dagger API from the command line.
-
Verify Dagger installation
Run the following commands in your terminal to verify your Dagger installation and get a sneak peek at Dagger in action:
dagger version
You should see the installed Dagger CLI's version number.
dagger core container \ from --address=alpine \ with-exec --args=apk,add,curl \ with-exec --args=curl,https://dagger.io \ stdout
You should see Dagger starting an
alpine
container and printing the output of the Dagger home page.
NOTE: The steps below are not mandatory, but will improve your Dagger workshop experience.
-
Configure your code editor
Dagger lets you write CI pipelines in any supported programming language in your code editor, allowing you to benefit from features like type-checking and intelligent code completion.
-
Configure Dagger Cloud
Dagger Cloud is Dagger's browser-based dashboard focused on tracing and debugging Dagger workflows. It requires a GitHub or Google account for identity verification. A free plan is available.
-
Say "Hi!" to the Dagger team in Discord
The Dagger Discord is Dagger's official community server, where Dagger users - we call them "Daggernauts" - can ask questions, share knowledge, and collaborate. Come by and say hello to us!
Ping @vikram_dagger in Discord for help!
You're all set! Let's build some pipelines - together!