# GitHub Actions

Adres: https://softwaredictionary.org/tr/terimler/github-actions
Kategori: DevOps ve Bulut
Son güncelleme: 2026-10-03
Okunuşu: githab ekşıns

Kısaca: GitHub Actions, GitHub'ın yerleşik otomasyon platformudur; depodaki YAML iş akışları push ya da pull request olduğunda test, derleme ve dağıtım çalıştırır.

## GitHub Actions nedir?

GitHub Actions 2019'da herkesin kullanımına açıldı ve GitHub'ı bir CI/CD platformuna dönüştürdü. İş akışları (workflow), depoda `.github/workflows` altında saklanan YAML dosyalarıdır. Her iş akışı ne zaman çalışacağını, örneğin her push'ta, pull request'lerde, bir takvime göre ya da elle, ve ne yapacağını söyler.

Bir iş akışı işlerden (job) oluşur; her iş, runner adı verilen bir makinede çalışır: GitHub'ın sağladığı, Linux, Windows ya da macOS içeren temiz bir sanal makine ya da kendi barındırdığınız bir makine. Bir iş, adımların (step) bir listesidir: `npm test` gibi kabuk komutları ya da kodu getirmek için `actions/checkout` gibi yeniden kullanılabilir action'lar. Biri diğerine bağlı değilse işler paralel çalışır; bir matris de aynı işi birkaç sürümde ya da işletim sisteminde çalıştırabilir.

GitHub Marketplace'teki binlerce hazır action yaygın işleri halleder: bir dil ortamını kurmak, bağımlılıkları önbelleğe almak, paket yayımlamak, bulut sağlayıcılarına dağıtmak ya da pull request'lere yorum yazmak. API anahtarları gibi gizli bilgiler (secret) depo ayarlarında şifreli saklanır ve yalnızca ihtiyaç duyan adımlara verilir.

Sık yapılan bir yanlış, GitHub Actions'ın yalnızca CI için olduğu düşüncesidir. Depo olaylarıyla tetiklenen neredeyse her şeyi otomatikleştirebilir: issue'ları etiketlemek, sürüm yayımlamak, bağımlılıkları güncellemek ya da belgeleri yayımlamak. Üçüncü taraf action'lar kodunuza ve gizli bilgilerinize erişerek çalıştığı için onları belirli bir sürüme sabitlemek önemli bir güvenlik pratiğidir.

## Önemli noktalar

- GitHub Actions, otomatik iş akışlarını GitHub'ın içinde çalıştırır.
- İş akışları .github/workflows altındaki YAML dosyalarıdır ve olaylarla tetiklenir.
- İşler GitHub'ın ya da sizin barındırdığınız runner'larda adım adım çalışır.
- Marketplace action'ları checkout, önbellekleme ve dağıtım gibi yaygın işleri halleder.
- Kodunuzu ve gizli bilgilerinizi görebildikleri için üçüncü taraf action'ları sürümlere sabitleyin.

## Örnek: Her push'ta ve pull request'te testleri çalıştırmak

```yaml
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
          cache: npm
      - run: npm ci
      - run: npm test
```

## Sık sorulan sorular

**GitHub Actions ücretsiz mi?**

GitHub'ın barındırdığı runner'larda herkese açık depolar için ücretsizdir. Özel depolar her ay belirli bir ücretsiz dakika hakkı alır; bunun ötesindeki kullanım ücretlendirilir.

**GitHub Actions runner'ı nedir?**

Bir işi çalıştıran makinedir. GitHub, Linux, Windows ya da macOS içeren barındırılan runner'lar sağlar; kendi makinelerinizi de kendi barındırdığınız runner olarak kaydedebilirsiniz.

**İş akışı, iş ve adım arasındaki fark nedir?**

İş akışı, tek bir YAML dosyasındaki otomasyonun bütünüdür. Ayrı runner'larda çalışan işleri içerir; her iş de komut ya da action çalıştıran adımlardan oluşan bir sıradır.

## Kaynaklar

- [GitHub Actions documentation](https://docs.github.com/en/actions)

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
