> ## Documentation Index
> Fetch the complete documentation index at: https://docs.logbrew.co/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub Actions ile dağıtımları kaydedin ve source map'leri yükleyin

> LogBrew GitHub Action ile bir GitHub Actions iş akışından JavaScript source map'lerini ve yerel hata ayıklama dosyalarını yükleyin. Her dağıtımı kaydedin.

LogBrew GitHub Action bir dağıtım işinin sonunda çalışır. Sürümün JavaScript
source map'lerini ve yerel hata ayıklama dosyalarını yükler. Ardından bir
dağıtım işareti kaydeder. LogBrew, yığın çerçevelerini kaynak kodunuza eşlemek
için bu dosyaları kullanır. Dağıtım işaretiyle de bir sürümü bir önceki
sürümle karşılaştırır.

Action, `LogBrewCo/cli` deposundadır. LogBrew CLI'yi npm'den kurar, bu yüzden
runner'da Node.js olmalıdır. GitHub'ın barındırdığı Linux, macOS ve Windows
runner'larında Node.js vardır.

## Derleme dosyası anahtarı oluşturun

[LogBrew CLI](https://docs.logbrew.co/tr/guides/cli.md) ile giriş yapın ve proje kimliğini bulun:

```bash theme={null}
logbrew projects --json
```

Proje için bir derleme dosyası anahtarı oluşturun. Yalnızca sahibinin
erişebildiği bir dizinde yeni bir dosya yolu kullanın:

```bash theme={null}
install -d -m 700 "$HOME/.logbrew" &&
logbrew projects keys create "<project_id>" \
  --ingest-key-file "$HOME/.logbrew/github-deploys.artifact" \
  --label "GitHub deploys" \
  --kind artifact \
  --json
```

Derleme dosyası anahtarı proje kapsamlıdır ve yalnızca yazma yetkisi verir. O
projenin source map'lerini ve hata ayıklama dosyalarını yükleyebilir,
dağıtımlarını kaydedebilir. Veri okuyamaz ve telemetri gönderemez.

Anahtar dosyasının içeriğini `LOGBREW_ARTIFACT_KEY` adlı bir repository secret
olarak kaydedin. GitHub'da **Settings**, ardından **Secrets and variables**,
ardından **Actions** bölümüne gidin. Sonra yerel dosyayı silin.

## Adımı ekleyin

Action'ı uygulamanızı dağıtan adımdan sonra ekleyin. Action'ı CLI'nin bir
sürüm etiketine sabitleyin. Etiket, action'ın kuracağı CLI sürümünü de
belirler.

```yaml theme={null}
- name: Report the deploy to LogBrew
  if: always()
  uses: LogBrewCo/cli@v0.1.93
  with:
    token: ${{ secrets.LOGBREW_ARTIFACT_KEY }}
    project: <project_id>
    release: web@${{ github.sha }}
    environment: production
    service: checkout-web
    sourcemaps: dist
    status: ${{ job.status == 'success' && 'succeeded' || 'failed' }}
```

Uygulamanızın çalışma zamanında gönderdiği `release`, `environment` ve
`service` değerlerinin aynısını kullanın. Sürüm adları için
[Sürümler](https://docs.logbrew.co/tr/concepts/releases.md) sayfasına bakın.

`if: always()` sayesinde adım, dağıtım başarısız olduğunda da çalışır. Böylece
LogBrew başarısız dağıtımı da kaydeder. Bu durumda `status` ifadesi `failed`
gönderir.

## Girdiler

| Girdi | Varsayılan | Kullanım |
| - | - | - |
| `token` | Zorunlu | Derleme dosyası anahtarı |
| `project` | Zorunlu | Proje kimliği |
| `release` | Zorunlu | Sürüm adı |
| `environment` | Zorunlu | Ortam, örneğin `production` |
| `service` | Zorunlu | Hizmet adı |
| `sourcemaps` | Boş | Vite eklentisinin oluşturduğu manifesti içeren derleme dizini |
| `sourcemaps-manifest` | Derleme dizinindeki `logbrew-release-artifacts.json` | Manifest yolu |
| `debug-files` | Boş | dSYM, ZIP, Mach-O veya Android ELF yolu |
| `deploy` | `true` | Yalnızca dosya yüklemek için `false` yapın |
| `deployment-id` | `github-<run_id>-<run_attempt>` | Dağıtım kimliği |
| `status` | `succeeded` | `succeeded` veya `failed` |
| `started-at` | Adımın başladığı zaman | Dağıtımın başladığı RFC 3339 zamanı |
| `commit-sha` | `github.sha` | Dağıtılan derlemenin commit'i |
| `cli-version` | Etiketteki sürüm veya `latest` | Kurulacak CLI sürümü |
| `working-directory` | `.` | Komutların çalışacağı dizin |

Action, `deployment-id` çıktısını ayarlar.

Dağıtım aralığını daha kesin tutmak için `started-at` değerini dağıtım
adımınızın başladığı zamana ayarlayın.

## Source map'leri yükleyin

`sourcemaps` girdisi, Vite eklentisinin hazırladığı derlemeyi yükler. Önce
eklentiyi kurun. Kurulum için [JavaScript source
map'leri](https://docs.logbrew.co/tr/guides/source-maps.md) sayfasına bakın. Projede `@logbrew/sdk`
kurulu olmalıdır, çünkü action yükleme yardımcısını `npx --no-install` ile
çalıştırır. Action'dan önce `npm ci` çalıştırın.

`.map` dosyalarını veya manifesti herkese açık web sitesine ya da CDN'e
dağıtmayın.

## Hata ayıklama dosyalarını yükleyin

`debug-files` girdisi `logbrew debug-artifacts upload` komutunu aynı proje,
sürüm, ortam ve hizmetle çalıştırır. dSYM dosyaları için [Apple çökmeleri ve
donmaları](https://docs.logbrew.co/tr/guides/apple-crashes-and-hangs.md) sayfasına bakın.

## Adımı yeniden çalıştırın

Aynı dağıtım kimliğini aynı değerlerle yeniden gönderebilirsiniz. LogBrew
yalnızca bir dağıtım tutar. Aynı kimliği farklı değerlerle gönderirseniz istek
başarısız olur. Bir iş akışını yeniden çalıştırdığınızda GitHub `run_attempt`
değerini artırır. Varsayılan kimlik değişir, bu yüzden action yeni bir dağıtım
kaydeder.

## Dağıtımı kontrol edin

İş akışı bittikten sonra sürümü CLI ile okuyun:

```bash theme={null}
logbrew explain release "web@<commit_sha>" --project "<project_id>" \
  --environment production --service checkout-web
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.