dbt docs: kendi data kataloğunu yayınla
dbt docs
Bu derste neler öğreneceksin
- dbt docs generate çalıştırır
- Public URL yayınlar (GitHub Pages)
- Portfolyo parçası olarak paylaşır
Tarif Defterini Herkes Okusun
Elif’in annesi yemek defterini sadece mutfakta tutmuyor — Instagram’da paylaşıyor, komşulara dağıtıyor, hatta küçük bir kitapçık bastırıyor. “Yaptığım yemekleri herkes görsün” diyor.
dbt de docs üretir. Yazdığın her modelin, her sütunun, her testin açıklamasını toplar, güzel bir HTML sitesi oluşturur. Hem takımınla paylaşırsın hem portfolyo olarak LinkedIn’e koyarsın.
Üç Komut Yeter
dbt docs generate # manifest.json + catalog.json üretir
dbt docs serve # localhost:8080'de site açar
dbt docs serve çalıştırınca tarayıcıda http://localhost:8080 açılır. Göreceğin şeyler:
- Sol panel: tüm modeller, source’lar, seed’ler, testler.
- Orta: seçili modelin açıklaması, SQL kodu, bağımlılıkları (DAG).
- Sağ: modelin sütunları ve açıklamaları.
- Lineage view: hangi model hangi modelden doğmuş, görsel akış.
Site Çok Güzel Ama Yerel — Onu Yayınlayalım
serve sadece kendi bilgisayarında çalışır. Siteyi herkes görsün istiyorsan GitHub Pages’e koymak en kolay yol.
.github/workflows/docs.yml:
name: dbt docs
on:
push:
branches: [main]
jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install dbt-core dbt-bigquery
- run: dbt deps
- run: dbt docs generate
env:
BIGQUERY_KEYFILE_JSON: ${{ secrets.GCP_SA_KEY }}
- uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./target
Her git push’ta GitHub Actions:
- dbt’yi kurar, modelleri generate eder.
target/klasörünü (HTML site)gh-pagesbranch’ine yükler.- Siten
https://<kullanıcı>.github.io/<repo>/adresinde yayınlanır.
Siteyi Güzelleştir
dbt_project.yml’e tema ekleyebilirsin:
models:
limonata_analiz:
+description: "Elif'in limonata dükkanı analitik pipeline"
+meta:
owner: "@elif"
domain: "satış"
Modellerine yazdığın description’lar katalogda görünür. Yarın biri takıma katılırsa, “hangi tablo ne işe yarar” diye kendine sormaz, siteye bakar.
Ne Öğrendik?
dbt docs generate+dbt docs serveile yerel katalog sitesi oluşur.- GitHub Pages + GitHub Actions ile site herkes tarafından erişilebilir olur.
- Yazdığın
description’lar otomatik toplanır — açıklama yazmak boşuna değil. - Bu site, portfolyo olarak işe alım sürecinde altın değerinde.
Küçük Ödev
dbt docs generate && dbt docs serveçalıştır,localhost:8080’de gezin.- En sevdiğin 3 modele güzel
descriptionyaz. .github/workflows/docs.ymlekle, push’la, sitenin*.github.ioadresinde açıldığını gör.