Skip to main content

Integrate Dagger with Github Actions

This tutorial illustrates how to use Github Actions and Dagger to build, push and deploy Docker images to Cloud Run.

Prerequisites​

We assume that you've finished our 106-cloudrun tutorial as this one continues right after.

Setup new Github repo​

Push existing examples/todoapp directory to your new Github repo (public or private). It should contain all the code from https://github.com/dagger/examples/tree/main/todoapp, gcpcloudrun and .dagger/env/gcpcloudrun/ directory.

Add Github Actions Secret​

Dagger encrypts all input secrets using your key stored at ~/.config/dagger/keys.txt. Copy the entire line starting with AGE-SECRET-KEY- and save it to a Github secret named DAGGER_AGE_KEY. In case you don't know how to create secrets on Github take a look at this tutorial.

Create a Github Actions Workflow​

Create .github/workflows/gcpcloudrun.yml file and paste the following code into it:

.github/workflows/gcpcloudrun.yml
name: CloudRun

on:
push:
branches:
- main

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Dagger
uses: dagger/dagger-action@v1
with:
age-key: ${{ secrets.DAGGER_AGE_KEY }}
args: up -e gcpcloudrun

Run​

On any push to main branch this workflow should run and deploy the todoapp to your GCP Cloud Run instance.