Skip to main content

From local dev to CI environment

Dagger can be used with any CI environment (no migration required) and has two important advantages which make the overall experience less error-prone and more efficient:

  1. Instead of YAML, you write CUE - typed configuration with built-in formatting
  2. Configuration is executed in BuildKit, the execution engine at the heart of Docker

This makes any CI environment with Docker pre-installed work with Dagger out of the box. We started with CI environments that you told us you are using. We will configure a production deployment for the same application that we covered in the previous page.

note

If you cannot find your CI environment below, let us know via this GitHub discussion.

.github/workflows/todoapp.yml
name: todoapp

push:
# Trigger this workflow only on commits pushed to the main branch
branches:
- main

# Dagger plan gets configured via client environment variables
env:
# This needs to be unique across all of netlify.app
APP_NAME: todoapp-dagger-europa
NETLIFY_TEAM: dagger
# Get one from https://app.netlify.com/user/applications/personal
NETLIFY_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
# GitHub Actions friendly logs
DAGGER_LOG_FORMAT: plain

jobs:
dagger:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v2

- name: Deploy to Netlify
uses: dagger/dagger-for-github@v2
# See all options at https://github.com/dagger/dagger-for-github
with:
workdir: pkg/universe.dagger.io/examples/todoapp
args: do deploy