0Pricing
DevOps Bootcamp · Ders

GitHub Actions ile Sınamaları Çalıştırma

Kod kalitesini güvenceye almak ve gerilemeleri önlemek için otomatik birim ve tümleştirme sınamalarını CI işlem hattınıza entegre edin.

GitHub Actions ile Sınamaları Çalıştırma, 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.

CI'da Sınamalar Neden Otomatikleştirilir?

Kodunuzda bir değişiklik yaptığınızı ve başka bir şeyi bozup bozmadığınızı hemen öğrendiğinizi düşünün. CI işlem hattınızdaki otomatik sınamaların gücü budur!

Sürekli Tümleştirme (CI), kod değişikliklerinin merkezi bir depoyla sık sık birleştirilmesi anlamına gelir. Otomatik sınamalar bu sürecin koruyucularıdır.

Hataları erkenden yakalar, hızlı geri bildirim sağlar ve her kod değişikliğine duyulan güveni artırırlar.

İşlem Hattınızdaki Sınama Türleri

Otomatik sınamalardan söz ettiğimizde genellikle iki ana tür öne çıkar: Birim Sınamaları ve Tümleştirme Sınamaları.

  • Birim Sınamaları: Tek bir işlev veya yöntem gibi kodunuzun küçük ve yalıtılmış bölümlerine odaklanır. Hızlıdır ve sorunların tam olarak belirlenmesini sağlar.
  • Tümleştirme Sınamaları: Veritabanıyla veya bir API ile etkileşime giren kodunuz gibi sisteminizin farklı bölümlerinin birlikte doğru çalışıp çalışmadığını denetler.

Her ikisi de yazılımınızın sağlam ve güvenilir olmasını sağlamak için hayati önem taşır.

GitHub Actions ile Sınamaları Otomatikleştirme

GitHub Actions, yeni kod gönderdiğinizde sınamalarınızı otomatik olarak çalıştıran kişisel bir sınama çalıştırıcısı gibi görev yapabilir.

Ne zaman çalışacağını, hangi ortamın kullanılacağını ve hangi komutların yürütüleceğini belirten bir iş akışı tanımlarsınız.

Bu, her değişikliğin el ile çaba gerektirmeden tutarlı biçimde doğrulanmasını sağlar.

Bir Java Projesini Sınamaya Hazırlama

Göstermek amacıyla, popüler bir derleme otomasyonu aracı olan Maven ile yönetilen basit bir Java projesi kullanacağız.

Maven, proje bağımlılıklarını yönetmeye ve kodu derleyip sınamaları çalıştırmaya yönelik komutlar sunar.

Projemizde basit bir Java sınıfı ve buna karşılık gelen kavramsal bir JUnit sınaması bulunacak.

Çalıştırılabilir İlk Sınama Örneğimiz

İşlevselliğini denetlemek için basit bir Java sınıfı ve temel bir sınama aşağıda verilmiştir. Kolaylık olması için tam bir JUnit kurulumu olmadan birim sınamasını benzetiyoruz.

main yöntemi, add yönteminin beklendiği gibi çalışıp çalışmadığını doğrulayan sınama çalıştırıcımız olarak görev yapar.

Çıktıyı görmek için çalıştırmayı deneyin!

public class Calculator {
  // Method to be tested
  public int add(int a, int b) {
    return a + b;
  }

  public static void main(String[] args) {
    Calculator calc = new Calculator();
    // Simulate a test case
    int expected = 5;
    int actual = calc.add(2, 3);

    if (actual == expected) {
      System.out.println("Test Passed: 2 + 3 = " + actual);
    } else {
      System.out.println("Test Failed: Expected " + expected + ", Got " + actual);
    }
  }
}

Sınama İş Akışınızı Oluşturma

Şimdi, sınamalarımızı çalıştıracak bir GitHub Actions iş akışı dosyasının (.github/workflows/test.yml) nasıl görüneceğine bakalım.

Bu YAML dosyası, ortamı hazırlamak ve sınama komutlarımızı yürütmek için GitHub Actions'ın izleyeceği adımları tanımlar.

Gerçek bir projedeki tüm JUnit sınamalarını çalıştırmak için Maven'in test komutunu kullanacağız.

name: Java CI with Maven

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up JDK 17
        uses: actions/setup-java@v4
        with:
          java-version: '17'
          distribution: 'temurin'
          cache: maven
      - name: Run Maven Tests
        run: mvn test

Her İş Akışı Adımını Anlama

Sınama iş akışımızdaki temel adımları ayrıntılı olarak inceleyelim:

  • on: push / pull_request: İş akışını, main dalına kod gönderildiğinde veya bu dala çekme isteği açıldığında tetikler.
  • runs-on: ubuntu-latest: İş akışının yürütüleceği sanal makine (çalıştırıcı) için işletim sistemini belirtir.
  • actions/checkout@v4: Deponuzun kodunu çalıştırıcıya alan, önceden oluşturulmuş bir eylemdir.
  • actions/setup-java@v4: Çalıştırıcıda Java Geliştirme Kitini (JDK) kuran başka bir eylemdir.
  • run: mvn test: Kritik adım budur! Kodunuzu derlemek ve tanımlanan tüm sınamaları çalıştırmak için Maven komutunu yürütür.

CI'da Sınama Başarısızlıklarını Ele Alma

CI sınamalarının önemli bir yararı, anında geri bildirim sağlamasıdır. Herhangi bir sınama başarısız olursa GitHub Actions iş akışı görevi de başarısız olur.

Bu durum, son kod değişikliğinin bir hata veya gerileme oluşturduğunu açıkça gösterir.

Daha sonra tam olarak hangi sınamanın neden başarısız olduğunu belirlemek için iş akışı günlüklerini inceleyebilir ve sorunları hızla giderebilirsiniz.

Etkisi: Kalite ve Güven

Otomatik sınamaları CI işlem hattınıza tümleştirmek, modern yazılım geliştirmenin temel taşlarından biridir.

Gerilemeleri etkin biçimde önler, tutarlı kod kalitesi sağlar ve bozuk özellikleri dağıtma riskini önemli ölçüde azaltır.

Bu süreç, kod tabanınıza duyduğunuz güveni artırarak ekibinizin daha hızlı ve daha güvenilir biçimde yenilik yapmasına olanak tanır.

İş Akışı Sınaması Denetimi

Sınamaları çalıştırmak üzere tasarlanmış bir GitHub Actions iş akışını düşünün. Bir Java projesindeki run: mvn test adımının temel amacı nedir?

Özet: CI İşlem Hattınızda Sınama

Bu derste otomatik sınamaları GitHub Actions CI işlem hattınıza nasıl tümleştireceğinizi inceledik.

Şunları ele aldık:

  • Kod kalitesi için otomatik sınamanın önemi.
  • Birim ve tümleştirme sınamaları arasındaki farklar.
  • Maven kullanarak Java sınamalarını çalıştıracak bir GitHub Actions iş akışının nasıl yapılandırılacağı.
  • checkout ve setup-java gibi iş akışı adımlarını anlama.
  • Sınamalarınızı yürütmede mvn test komutunun kritik rolü.
  • GitHub Actions'ın sınama başarısızlıklarını nasıl bildirdiği.

Otomatik sınama, hataları erkenden yakalamak ve sağlam bir kod tabanını korumak için çok önemlidir!

Sıkça Sorulan Sorular

“GitHub Actions ile Sınamaları Çalıştırma” dersi ücretsiz mi?

Evet — “GitHub Actions ile Sınamaları Çalıştırma” 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.

“GitHub Actions ile Sınamaları Çalıştırma” dersinde ne öğreneceğim?

Kod kalitesini güvenceye almak ve gerilemeleri önlemek için otomatik birim ve tümleştirme sınamalarını CI işlem hattınıza entegre edin. 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.

“GitHub Actions ile Sınamaları Çalıştırma” 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. İş Akışı Tetikleyicileri ve Olayları
  2. GitHub Actions ile Sınamaları Çalıştırma
  3. Kod Biçimi Denetimi ve Kod Kalitesi Kontrolleri
  4. Daha Hızlı Derlemeler için Bağımlılıkları Önbelleğe Alma
← DevOps Bootcamp Sayfasına Dön