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:
- Instead of YAML, you write CUE - typed configuration with built-in formatting
- 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 Actions
- CircleCI
- GitLab
- Jenkins
- Tekton
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
If you would like us to document CircleCI next, vote for it here: dagger#1677
If you would like us to document GitLab next, vote for it here: dagger#1677
If you would like us to document Jenkins next, vote for it here: dagger#1677
If you would like us to document Tekton next, vote for it here: dagger#1677