A solid implementation used by many community members is to use Docker, K8 Operator and Airflow.
At a high level, the steps to do so are:
- Build, tag and push an image with the most recent version of your dbt project on each of your deployments
- Use the Kubernetes Operator for all tasks in Airflow that run dbt
- Have the K8 Operator pull and run the latest tagged image, with the relevant dbt command