Hello, and welcome to the very first Dagger workshop in Mumbai!
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 your favourite programming language (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!