Source
yaml
id: dbt-bigquery
namespace: company.team
tasks:
- id: git
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: main
- id: dbt
type: io.kestra.plugin.dbt.cli.DbtCLI
inputFiles:
sa.json: "{{ secret('GCP_CREDS') }}"
taskRunner:
type: io.kestra.plugin.scripts.runner.docker.Docker
containerImage: ghcr.io/kestra-io/dbt-bigquery:latest
profiles: |
my_dbt_project:
outputs:
dev:
type: bigquery
dataset: your_big_query_dataset_name
project: your_big_query_project
keyfile: sa.json
location: EU
method: service-account
priority: interactive
threads: 16
timeout_seconds: 300
fixed_retries: 1
target: dev
commands:
- dbt deps
- dbt build
About this blueprint
BigQuery Git dbt
This flow: - clones a dbt Git repository from GitHub, - pulls a public container image with the required dependencies - runs dbt CLI commands within a container.
This flow assumes that your Google Cloud Service Account JSON key file's content is stored as a secret named GCP_CREDS
.
Before you run this blueprint, simply copy-paste the contents of your ~/.dbt/profiles.yml
into the profiles
section and you're good to go!
More Related Blueprints