0Pricing
DevOps Bootcamp · Ders

İşlem Hattı Performansını Ayarlama

GitHub Actions iş akışlarınızın yürütme hızını ve kaynak tüketimini iyileştirmek için darboğazları belirleyip gelişmiş teknikleri uygulayın.

İşlem Hattı Performansını Ayarlama, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.

İşlem Hattınızı Hızlandırın

İşlem Hattı Performans Ayarlama dersine hoş geldiniz! Modern geliştirme süreçlerinde hızlı CI/CD işlem hatları, hızlı geri bildirim ve kaynakların verimli kullanımı için kritik öneme sahiptir.

Yavaş işlem hatları zaman ve para kaybettirir. Bu derste darboğazları belirlemek ve GitHub Actions iş akışlarınızı önemli ölçüde hızlandırmak için ileri teknikleri öğreneceksiniz.

İş Akışı Darboğazlarını Bulma

Optimizasyon yapmadan önce neyi optimize etmeniz gerektiğini bilmelisiniz. GitHub Actions, yavaş adımları veya işleri tam olarak belirlemenizi sağlayan mükemmel araçlar sunar.

  • GitHub Kullanıcı Arayüzü: İş akışı çalıştırmalarının günlüklerini görüntüleyin. Zaman çizelgesi görünümü, her işin ve adımın ne kadar sürdüğünü açıkça gösterir.
  • İş Özetleri: Olağandışı derecede uzun süren adımları arayın.
  • Eylem Günlükleri: Ayrıntılı günlükler, en fazla zaman tüketen belirli komutları veya işlemleri ortaya çıkarabilir.

Sürekli olarak en uzun süren adımlara odaklanın.

Bağımsız İşleri Paralel Çalıştırma

İş akışınızın bazı bölümleri birbirine bağlı değilse bunları aynı anda çalıştırın! Bu, toplam yürütme süresini azaltmanın basit ama güçlü bir yoludur.

İş akışınızda birden fazla üst düzey iş tanımlayın. Aralarında needs bağımlılıkları belirtmediğiniz sürece GitHub Actions bunları varsayılan olarak paralel çalıştırır.

name: Parallel Jobs Example
on: [push]
jobs:
  build-frontend:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build Frontend
        run: echo "Building frontend..."
  build-backend:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build Backend
        run: echo "Building backend..."

Checkout Eylemini Optimize Etme

actions/checkout eylemi, deponuzun kodunu getirir. Büyük depolarda veya kapsamlı geçmişe sahip depolarda bu işlem yavaş olabilir. Şu şekilde optimize edin:

  • Sığ Kopyalama: Yalnızca en son işlemi getirmek için fetch-depth: 1 kullanın. Bu, çoğu CI/CD görevi için önemli ölçüde zaman kazandırır.
  • Seyrek Checkout: Yalnızca dosyaların bir alt kümesine ihtiyacınız varsa seyrek checkout kullanmayı değerlendirin; ancak kurulumu çoğu zaman daha karmaşıktır.

Geçmişin tamamını indirdiği için kesinlikle gerekli olmadıkça fetch-depth: 0 kullanmaktan kaçının.

name: Optimized Checkout
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 1 # Only fetch the latest commit
      - name: Run Build
        run: echo "Code checked out and building..."

Derleme Yapıtlarının Boyutlarını Küçültme

İş akışınız yapıtları (derlenmiş ikili dosyalar veya test raporları gibi) yüklüyor ya da indiriyorsa bunların boyutu performansı doğrudan etkiler.

İşlemleri hızlandırmak için:

  • Yalnızca Gerekli Dosyaları Ekleyin: İhtiyacınız olmayan geçici derleme klasörlerini veya günlükleri yüklemeyin.
  • Yapıtları Sıkıştırın: Mümkünse büyük yapıtları yüklemeden önce sıkıştırın. actions/upload-artifact eylemi sıkıştırmayı otomatik olarak gerçekleştirir; ancak kaynak dosyalarınızın gereksiz içerik barındırmadığından emin olun.

Verimlilik için Yol Filtreleme

Her kod değişikliğinin her işi tetiklemesi gerekmez. Yalnızca ilgili dosyalar değiştirildiğinde işleri çalıştırmak için yol filtreleme kullanın.

Bu yöntem, belgelerde yapılan bir değişikliğin tüm arka uç derlemesini tetiklememesi gereken büyük depolarda özellikle yararlıdır.

İş akışınızın on tetikleyicisi içinde paths veya paths-ignore belirtin.

name: Path Filter Example
on:
  push:
    paths:
      - 'frontend/**'
      - 'shared/**'
jobs:
  build-frontend:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build Frontend
        run: echo "Frontend files changed, building..."

Daha Hızlı Çalıştırıcılar ve Kaynak Tahsisi

İş akışlarınızı yürüten sanal makineler (çalıştırıcılar) farklı boyut ve türlerde olur. CPU yoğun görevlerde daha güçlü bir çalıştırıcı, yürütme süresini büyük ölçüde azaltabilir.

  • Daha Büyük GitHub Barındırmalı Çalıştırıcılar: GitHub, daha zorlu iş yükleri için daha büyük çalıştırıcılar (örneğin ubuntu-latest-xlarge) sunar.
  • Kendi Barındırdığınız Çalıştırıcılar: Çok özel donanım gereksinimleriniz varsa veya dahili kaynaklara yönelik ağ gecikmesini en aza indirmek istiyorsanız kendi barındırdığınız çalıştırıcıları tam gereksinimlerinize göre optimize edebilirsiniz.

İleri Düzey Önbellekleme Stratejileri

Bağımlılıkları (npm paketleri veya Maven yapıtları gibi) önbelleğe almak çok önemlidir. Aşağıdaki ipuçlarıyla temel önbelleklemenin ötesine geçin:

  • Ayrıntılı Önbellek Anahtarları: Gereksiz önbellek kaçırmalarını önlemek için daha özel önbellek anahtarları kullanın. Örneğin belirli bir kilit dosyasının özetini ve OS bilgisini ekleyin.
  • Birden Çok Önbellek: Her şeyi tek bir büyük önbelleğe koymayın. Farklı bağımlılık türleri (örneğin node_modules ve pip paketleri) için ayrı önbellekler isabet oranlarını artırabilir.
  • Geri Yükleme Anahtarları: Birincil anahtar bulunamazsa birden çok önbellek anahtarını denemek için restore-keys kullanın; böylece kısmi isabet olasılığı artar.
name: Advanced Caching
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Cache Node Modules
        uses: actions/cache@v4
        with:
          path: ~/.npm
          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
          restore-keys: | # Try less specific keys if primary misses
            ${{ runner.os }}-node-
      - name: Install Dependencies
        run: npm ci

Bu İş Akışını Optimize Edin

Hem ön yüz hem de arka uç kodunu derleyen bir iş akışını düşünün. Şu anda işlemler sıralı olarak yürütülüyor ve checkout işlemi geçmişin tamamını getiriyor. Hangi iki değişiklik performansını önemli ölçüde artırır?

name: Inefficient Workflow
on: [push]
jobs:
  build-all:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Frontend Deps
        run: npm install
      - name: Build Frontend
        run: npm run build
      - name: Install Backend Deps
        run: pip install -r requirements.txt
      - name: Build Backend
        run: python setup.py build

Özet: Hız için Ayarlama

GitHub Actions iş akışlarınızı optimize etmek için güçlü teknikler öğrendiniz!

  • Darboğazları Belirleyin: GitHub kullanıcı arayüzünü ve günlükleri kullanın.
  • İşleri Paralel Çalıştırın: Bağımsız görevleri eş zamanlı yürütün.
  • Checkout İşlemini Optimize Edin: Sığ kopyalar kullanın.
  • Yapıtları Küçültün: Yükleme ve indirme boyutlarını küçük tutun.
  • Yol Filtreleme: İşleri yalnızca ilgili dosyalar değiştiğinde çalıştırın.
  • Daha Hızlı Çalıştırıcılar: Uygun çalıştırıcı kaynaklarını seçin.
  • İleri Düzey Önbellekleme: Ayrıntılı anahtarlar ve birden çok önbellek kullanın.

Bu stratejileri uygulayarak işlem hatlarınızı daha hızlı ve verimli hâle getirebilir, değerli zaman ve kaynaklardan tasarruf edebilirsiniz.

Sıkça Sorulan Sorular

“İşlem Hattı Performansını Ayarlama” dersi ücretsiz mi?

Evet — “İşlem Hattı Performansını Ayarlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.

“İşlem Hattı Performansını Ayarlama” dersinde ne öğreneceğim?

GitHub Actions iş akışlarınızın yürütme hızını ve kaynak tüketimini iyileştirmek için darboğazları belirleyip gelişmiş teknikleri uygulayın. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“İşlem Hattı Performansını Ayarlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?

Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. DORA Ölçümleri ve CI/CD Sağlığı
  2. İşlem Hattı Performansını Ayarlama
  3. DevOps Otomasyonunda Gelecek Eğilimleri
  4. CI/CD Maliyetini ve Çalıştırıcı Verimliliğini İyileştirme
← DevOps Bootcamp Sayfasına Dön