Blueprints
Git workflow for dbt — pull latest dbt changes from GitHub and build dbt models from your dbt project directory
About this blueprint
Git dbt DuckDB
This flow does the following:
- Clones the latest dbt code from GitHub
- Pulls a public container image with the latest package dependencies
- Runs dbt CLI commands in a Docker container.
Note how the dbt CLI commands use the --project-dir dbt
flag. This is important because the example GitHub project we use has the dbt project code located in a dedicated folder.
If your dbt project is located outside of the root directory in your Git repository structure, make sure to use the --project-dir dbt
flag.
yaml
id: dwh-and-analytics
namespace: company.team
description: >
## Data Platform
Clone a [Git repository](https://github.com/kestra-io/dbt-example) and build
dbt models
tasks:
- id: dbt
type: io.kestra.plugin.core.flow.WorkingDirectory
tasks:
- id: clone_repository
type: io.kestra.plugin.git.Clone
url: https://github.com/kestra-io/dbt-example
branch: master
- id: dbt_build
type: io.kestra.plugin.dbt.cli.DbtCLI
taskRunner:
type: io.kestra.plugin.scripts.runner.docker.Docker
containerImage: ghcr.io/kestra-io/dbt-duckdb:latest
commands:
- dbt deps --project-dir dbt
- dbt build --project-dir dbt
profiles: |
my_dbt_project:
outputs:
dev:
type: duckdb
path: dbt.duckdb
extensions:
- parquet
fixed_retries: 1
threads: 16
timeout_seconds: 300
target: dev
More Related Blueprints