Deploying DbtProjectComponent to Dagster+ — missing manifest.json error
Problem description
When deploying a code location that uses DbtProjectComponent to Dagster+, the deploy fails with:
DagsterDbtManifestNotFoundError: /path/to/target/manifest.json does not exist.
Root cause
DbtProjectComponent reads from your dbt project's manifest.json at load time. The manifest is generated by running dbt parse (or another dbt command that produces the manifest) against the project. CI/CD pipelines that deploy the code without first running dbt parse ship a project missing the manifest, and the agent fails to load the component.
Solution
Add a dbt parse step to your deployment pipeline before the Dagster+ deploy step.
GitHub Actions
- name: Prepare dbt projects
run: |
cd path/to/dbt/project
dbt deps
dbt parse
- name: Deploy to Dagster+
run: |
dagster-cloud ci deploy --location-name=$DAGSTER_CODE_LOCATION_NAME
Docker deployments
Run dbt deps and dbt parse during the image build so the manifest is baked into the image:
RUN cd /path/to/dbt/project && \
dbt deps && \
dbt parse