Abstracting CI into Portable, Reusable Modules That Run Anywhere...Fast!
2025-09-10 , Event Space #1

To introduce participants to Dagger, an open source container engine for CI pipelines. Dagger enables teams to encapsulate their CI workflows in portable, language-agnostic modules and unlock cross-team collaboration.


Registration

Register here

Descritpion

In large organizations, CI is often a battlefield between platform engineering teams and application development teams. The former likes standardized workflows, the latter demands customization. The conflict between these two approaches can lead to fragmented outcomes, typically resulting in frustration and lost productivity.

Any solution to this conflict must first understand that modern development takes place in a mix of languages, tools and platforms. In these environments, no one language or tool can "win"; every component must be interoperable with every other.

This workshop will explore how Dagger resolves these conflicts by enabling teams to encapsulate their CI workflows in reusable, shareable Dagger modules. Dagger is ideally suited to modern polyglot environments, because Dagger modules are language-agnostic. For example, a Python function can call a Go function, which can call a TypeScript function, and so on.

This capability immediately unlocks cross-team collaboration. Even though different teams might prefer different languages, the Dagger modules they create are instantly compatible and usable by other teams. It also means that teams no longer need to care which language their CI tooling is written in; every team can use the tools they're most comfortable with or that best suit their requirements.

Key takeaways:

After this workshop, attendees will be able to:
- Write modern, reproducible and portable CI workflows in Python
- Replace static YAML with testable, version-controlled code
- Collaborate more effectively with teams using different stacks
- Future-proof their CI strategy

Prerequisites

Before we get started, make sure you have the following:

  • A laptop with internet access
  • Basic knowledge of Containers and CI/CD pipelines (helpful, but not mandatory)
  • A GitHub account
  • A code editor (VS Code recommended)

Required Setup

  1. Install Docker

    Dagger requires a container runtime installed on the system. This can be Docker, Podman, nerdctl, or other Docker-like systems (see available integrations). We recommend Docker for this workshop.

    Install Docker

  2. Install Docker Compose

    Docker Compose is required to explore the sample project used in the workshop.

    Install Docker Compose

  3. Install Dagger

    The Dagger CLI is your primary entrypoint to Dagger. It lets you call the Dagger API from the command line.

    Install Dagger

  4. Verify Dagger installation

    Run the following commands in your terminal to verify your Dagger installation and get a sneak peek at Dagger in action:

    shell dagger version

    You should see the installed Dagger CLI's version number.

    shell 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.

Dev tools and containers. That could summarize my focus over the past few years.
After five years at Docker, I'm now helping build the new generation of developer tools at Dagger, from local tools and CI, to AI Agents.