# GitHub Actions neden yavaş? Her işte aynı kurulumu tekrarlamayın

> GitHub Actions yavaştır, çünkü her iş boş bir VM’de başlar ve ilk testten önce araçlarını indirir, bağımlılıklarını yeniden kurar ve Docker imajlarını yeniden derler. Skipbox bunların hepsini işler arasında size ait makinede tutar, ayda sabit $39 karşılığında sınırsız dakikayla: 4 vCPU’da 20.000 dakikada bu, GitHub’dan ayda $183 daha az demektir.

Yavaş bir GitHub Actions işinin büyük kısmı, ilk test çalışmadan önce geçer. Node’u kurmak, bağımlılıkları indirmek, Docker imajını derlemek: her push’ta aynı dakikalar, ekibinizden biri yeşil bir kontrol beklerken. Dakika başına faturalandırmada bu dakikaların parasını da ödersiniz.

Skipbox, makinesini işler arasında tutan bir GitHub Actions runner’ıdır; bir işin kurduğu şeyler bir sonraki iş için hâlâ disktedir. Tek bir satırı, `runs-on: skipbox` satırını değiştirin; iş size ait makinede, ayda sabit $39 karşılığında sınırsız dakikayla çalışır.

- Bağımlılıklar, Docker katmanları ve araçlar diskte kalır; işler indirmeleri ve yeniden derlemeleri atlar
- GitHub’ın önbellek alanının en az 7 katı; 7 günlük silinme yok, ayarlanacak önbellek anahtarı yok
- 4 vCPU’da ayda 20.000 dakika: GitHub’da $222, Skipbox’ta $39

**Sabit fiyatla GitHub Actions, sınırsız dakika** Skipbox, GitHub Actions işlerinizi size ayrılmış kendi makinenizde çalıştırır: kaç dakika çalıştırırsanız çalıştırın ayda $39. Docker katmanları ve bağımlılık önbellekleri işler arasında kalır, böylece sonraki iş hemen başlar.

4 vCPU’luk bir runner, ayda 20.000 dakika: GitHub $222 → Skipbox $39. Her ay $183 tasarruf edersiniz.

Geçiş tek satır: `runs-on: skipbox`.

[7 günlük ücretsiz denememi başlat](https://app.skipbox.dev/sign-in?ref=g-github-actions-slow-tr)

## Her iş boş bir VM’de başlar

GitHub’ın barındırdığı runner, her iş için yeni bir sanal makinedir. Son işin indirdiği veya derlediği hiçbir şey onda yoktur; bu yüzden her iş aynı durumu yeniden kurar:

| Adım | GitHub’ın barındırdığı runner | Skipbox |
|---|---|---|
| Node, Python, Java kurulumu | Araç zincirini indirir | Son işten kalan araç önbelleğinde bulur |
| Bağımlılıkların kurulumu | Önbellek arşivini indirip açar; isabet yoksa her şeyi kayıt deposundan indirir | Paket yöneticisinin önbelleğini diskten okur |
| Docker imajının derlenmesi | Hiç katman olmadan başlar ve her adımı yeniden derler | Son derlemenin katmanlarını yeniden kullanır |
| Testlerin çalıştırılması | Özel bir deponun `ubuntu-latest` runner’ında 2 CPU | 4 vCPU ve üzeri |

İlk üç satır yeni hiçbir şey üretmez. Makineyi dün olduğu yere geri getirir.

GitHub’ın önbelleği bunu yumuşatır ama değiştirmez. Depo başına 10 GB tutar, 7 gün boyunca hiçbir işin okumadığı girdileri siler ve yeni bir özellik dalı başka bir özellik dalının önbelleğini okuyamaz. İsabet olsa bile her çalıştırmada bir arşiv indirilip açılır.

## Beklemenin size maliyeti

Diyelim ki kurulum her işin 3 dakikasını alıyor ve ekibiniz günde 100 iş çalıştırıyor. Bu, makineyi geri kurmaya harcanan günde 300 dakika runner süresi demektir ve her pull request kendi payını bekler. İncelemeler daha geç başlar, birleştirmeler daha geç gerçekleşir, mühendisler beklerken başka bir işe geçer.

Dakika başına faturalandırmada bu dakikalar faturadadır. Aylık dakikaya göre 4 vCPU’luk bir runner:

| Aylık dakika (4 vCPU) | GitHub | Skipbox S | Aylık tasarrufunuz |
|---|---|---|---|
| 10.000 | $102 | $39 | **$63** |
| 20.000 | $222 | $39 | **$183** |
| 30.000 | $342 | $39 | **$303** |

GitHub tutarları, GitHub Team’e dahil kullanım düşüldükten sonraki faturadır. Kendi dakikalarınızı [ana sayfadaki hesaplayıcıya](https://skipbox.dev/?ref=g-github-actions-slow-tr#cost) girin; giriş gerekmez.

Çalıştırma sayısı da yalnızca artar:

- **Kod yazan yapay zeka ajanları.** Ajanın her push’u CI’ı başlatır. Bekleme de fatura da çalışan sayısıyla değil push’larla büyür.
- **Daha çok test.** Bir uçtan uca test paketi veya matris, eklediği her işte kurulumu tekrarlar.
- **Bütçeler.** Faturayı bir GitHub bütçesiyle sınırlayın; işler ay ortasında başlamaz olur ve bu da birleştirmeleri durdurur.

## Kendiniz hızlandırmak başlı başına bir proje

GitHub’ın barındırdığı runner’larda kalıp onları hızlandırmak, şuna benzer işleri üstlenmek demektir:

- Önbellekleri kilit dosyası hash’lerine göre anahtarlamak ve isabet edene kadar `restore-keys` ayarlamak
- buildx eklemek ve Docker’ın önbelleğini `cache-to` ile, yine aynı 10 GB içinde dışa aktarmak
- Testleri parçalara bölmek; her parça kurulumu tekrarlar ve faturalandırılan dakikalar artar
- Ya da kendi self-hosted runner’ınızı çalıştırmak: makine hazırlama, işletim sistemi güncellemeleri, işler arasında temizlik ve çöktüğünde onarma

Bunların her biri her şeyi unutan bir makinenin etrafından dolaşır. Skipbox makineyi tutar; hiçbirine gerek kalmaz.

## Skipbox’ta değişenler

**Kurulum diskte kalır.** İşleriniz hesabınıza ait makinede çalışır ve makine işler arasında kalır. Docker imajları, katmanları ve derleme önbelleği; npm, pip, Gradle ve diğerleri için paket önbellekleri; `setup-node` ve benzerlerinin kurduğu araçlar. GitHub’ın önbellek alanının en az 7 katı; 7 gün sonra silinme yok, dal kuralı yok.

**Sabit fiyata daha büyük makineler.** Derleyiciler ve test çalıştırıcıları çekirdek başına bir işçi başlatır; daha çok çekirdek, CPU’ya bağlı adımları kısaltır.

| Plan | Makine | Fiyat |
|---|---|---|
| S | 4 vCPU · 16 GB | Ayda $39 |
| M | 8 vCPU · 16 GB | Ayda $79 |
| L | 16 vCPU · 32 GB | Ayda $149 |

Her planda dakikalar sınırsızdır. Skipbox işleri GitHub dakikası kullanmaz; bu yüzden bir GitHub bütçesi onları asla durdurmaz.

**Bakılacak makine yok.** Skipbox makineyi hazırlar, işletim sistemini ve araçları günceller, her işten sonra temizlik yapar, sağlık kontrolü çalıştırır ve kontrolü geçemeyen makineyi yeniden oluşturur.

## Geçiş tek satır

```yaml
jobs:
  build:
    runs-on: skipbox # was ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm test
```

1. GitHub ile Skipbox’a giriş yapın.
2. Skipbox GitHub App’i yükleyin ve depoları seçin.
3. `runs-on` satırını değiştirin ve push edin.

İlk işin kurduğu şeyler ikinci iş için diskte olur.

## Güvenlik

- Makine yalnızca hesabınıza aittir. Başka hiçbir şirketin işleri onda çalışmaz.
- Her işten sonra runner’ın kimlik bilgileri, süreçleri ve container’ları silinir. 13 Kasım 2026’dan itibaren checkout’unuz ve derleme çıktısı (Cargo’nun `target/` dizini) sonraki işleriniz için size ait makinede kalır; Her iş için temiz VM ayarı her işe yeni bir makine verir.
- Yazma erişimi olmayan kişilerin kodu (örneğin fork’lardan gelen pull request’ler) yeni, tek kullanımlık bir makinede çalışır.

Ayrıntılar [işler nasıl yalıtılır](https://docs.skipbox.dev/isolation) sayfasında.

## En yavaş işinizde deneyin

Deneme 7 gün ya da 3.000 iş dakikası boyunca, hangisi önce dolarsa, ücretsizdir ve kart istemez. En yavaş işinizi `runs-on: skipbox` satırına taşıyın, art arda iki kez çalıştırın ve adım sürelerini GitHub’dakilerin yanına koyun.

## SSS

### GitHub Actions neden bu kadar yavaş?

GitHub’ın barındırdığı bir runner’daki her iş, son çalıştırmadan hiçbir şey taşımayan yeni bir VM’de başlar; bu yüzden testleriniz başlamadan önce araçlarını indirir, bağımlılıklarını yeniden kurar ve Docker imajlarını yeniden derler. Skipbox işlerinizi hesabınıza ait makinede çalıştırır ve bu durumu diskinde tutar; bir sonraki iş, sonuncusunun bıraktığı yerden başlar.

### actions/cache ekledim. İş akışım neden hâlâ yavaş?

Önbellek isabet etse bile her işte bir arşiv indirilip açılır, çünkü VM her seferinde yenidir. Ayrıca GitHub’ın önbelleği depo başına 10 GB tutar, 7 gün kullanılmayan girdileri siler ve kardeş bir daldan okunamaz. Skipbox’ta paket önbellekleri ve Docker katmanları zaten makinenin diskindedir, yönetilecek anahtar yoktur.

### GitHub Actions’ta Docker derlemelerini nasıl hızlandırırım?

Derlemeye son derlemenin katmanlarını verin. GitHub’ın barındırdığı runner’larda bu, önbelleği buildx ile dışa aktarıp her çalıştırmada içe aktarmak demektir; yine aynı 10 GB sınırı içinde. Skipbox’ta Docker’ın imajları ve derleme önbelleği işler arasında makinede kalır; docker build katmanları kendiliğinden yeniden kullanır.

### Skipbox’ı kullanmak için iş akışlarımı yeniden yazmam gerekir mi?

Hayır. Linux işleri için runs-on değerini skipbox yapın. Makine Docker, Node.js ve Python ile Ubuntu 24.04 çalıştırır; adımlarınız ve action’larınız olduğu gibi çalışır.

### Kendi yavaş işimde ücretsiz deneyebilir miyim?

Evet. Deneme 7 gün ya da 3.000 iş dakikası sürer, hangisi önce dolarsa, ve kart istemez. En yavaş işinizi runs-on: skipbox satırına taşıyın, art arda iki kez çalıştırın ve adım sürelerini GitHub’dakilerle karşılaştırın.

Güncellendi: 2026-11-11 · https://skipbox.dev/tr/guides/github-actions-slow
