0Pricing
DevOps Bootcamp · Ders

İş Akışı Tetikleyicileri ve Olayları

Gönderimler, çekme istekleri ve zamanlanmış olaylar gibi GitHub Actions iş akışlarınızı tetikleyebilecek çeşitli olayları keşfedin.

İş Akışı Tetikleyicileri ve Olayları, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 1. 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.

Bir İş Akışını Ne Başlatır?

GitHub Actions içindeki iş akışları kendiliğinden çalışmaz. Başlamak için bir sinyale ihtiyaç duyarlar! Bu sinyale tetikleyici denir.

Tetikleyiciler, GitHub Actions'a "Hey, bir şey oldu! Bu iş akışını çalıştırma zamanı." diyen belirli olaylardır. Tetikleyicileri anlamak, geliştirme sürecinizi etkili biçimde otomatikleştirmenin anahtarıdır.

'on' Anahtar Kelimesi

İş akışı dosyanızda (.github/workflows dizinindeki bir .yml dosyasında), tetikleyicileri on anahtar kelimesini kullanarak tanımlarsınız.

Bu bölüm, GitHub Actions'a iş akışını ne zaman yürüteceğini söyler. Bir veya birden çok olay belirtebilirsiniz.

name: My First Triggered Workflow

on:
  push: # This workflow will run on every push event

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Run a simple command
        run: echo "Workflow triggered!"

Kod Gönderimlerine Tepki Verme

push olayı en yaygın tetikleyicilerden biridir. Yeni bir işleme veya birleştirme olması fark etmeksizin, kod deponuza gönderildiğinde çalışır.

Varsayılan olarak bir push tetikleyicisi tüm dallar için çalışır.

on: push

jobs:
  greeting:
    runs-on: ubuntu-latest
    steps:
      - name: Say Hello
        run: echo "Code was pushed!"

Hedefli Gönderimler

push tetikleyicisini yalnızca belirli dallar için veya belirli dosya yollarında değişiklik olduğunda çalışacak şekilde daraltabilirsiniz. Bu, iş akışlarınızı en iyi duruma getirmenize yardımcı olur.

  • branches: Yalnızca belirli dal adlarına gönderim yapıldığında çalışır.
  • paths: Yalnızca belirtilen dizinlerdeki dosyalarda değişiklik yapıldığında çalışır.
on:
  push:
    branches:
      - main
      - 'feature/*' # Glob pattern for feature branches
    paths:
      - 'src/**' # Only if changes in src/ directory

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - run: echo "Push to relevant branch/path detected!"

Çekme İsteği Denetimlerini Otomatikleştirme

pull_request olayı, bir çekme isteği açıldığında, eşitlendiğinde (PR dalına yeni işlemeler gönderildiğinde) veya yeniden açıldığında tetiklenir.

Değişiklikler ana kod tabanınızla birleştirilmeden önce testler, kod biçimi denetimi veya kod incelemeleri gibi otomatik denetimleri çalıştırmak için idealdir.

on: pull_request

jobs:
  pr_check:
    runs-on: ubuntu-latest
    steps:
      - name: PR opened/updated
        run: echo "A pull request was opened or updated!"

Belirli PR Eylemleri

types belirterek pull_request tetikleyicisini daha da özelleştirebilirsiniz. Bu, iş akışınızın yalnızca bir çekme isteğiyle ilgili belirli eylemlere tepki vermesini sağlar.

  • opened: Yeni bir çekme isteği oluşturulduğunda.
  • synchronize: PR dalına yeni işlemeler gönderildiğinde.
  • reopened: Kapatılmış bir çekme isteği yeniden açıldığında.
on:
  pull_request:
    types: [opened, synchronize, reopened] # Run only on these PR actions

jobs:
  pr_review:
    runs-on: ubuntu-latest
    steps:
      - run: echo "PR action: ${{ github.event.action }}"

Zamana Dayalı Tetikleyiciler

schedule olayı, cron sözdizimini kullanarak iş akışlarını belirli zamanlarda çalıştırmanıza olanak tanır. Günlük raporlar, temizleme görevleri veya periyodik denetimler için idealdir.

Cron sözdizimi, şu öğeleri temsil eden beş yıldız kullanır: minute hour day-of-month month day-of-week.

on:
  schedule:
    - cron: '0 0 * * *' # Run daily at midnight UTC
    - cron: '0 12 * * 1-5' # Run at 12 PM UTC, Mon-Fri

jobs:
  scheduled_task:
    runs-on: ubuntu-latest
    steps:
      - run: echo "Scheduled workflow running!"

İş Akışlarını El ile Çalıştırma

Bazen bir iş akışını, örneğin bir dağıtım veya belirli bir bakım görevi için, el ile çalıştırmanız gerekir. workflow_dispatch olayı bunu etkinleştirir.

Bu tetikleyici mevcut olduğunda, ilgili iş akışı için GitHub kullanıcı arayüzünde bir "Run workflow" düğmesi görünür ve iş akışını istediğiniz zaman tetiklemenize olanak tanır.

on: workflow_dispatch

jobs:
  manual_task:
    runs-on: ubuntu-latest
    steps:
      - run: echo "This workflow was triggered manually!"

Temel Bilgilerin Ötesi

push, pull_request, schedule ve workflow_dispatch en yaygın olaylar olsa da GitHub Actions birçok başka olay tetikleyicisi de sunar.

  • workflow_call: Yeniden kullanılabilir iş akışları oluşturmak için.
  • repository_dispatch: Bir API çağrısı aracılığıyla harici sistemlerden iş akışlarını tetiklemek için.
  • Belirli GitHub olayları için daha birçok seçenek vardır (ör. issues, release, fork).

Tetikleyici Görevi

Kod değişikliklerinden bağımsız olarak her cuma saat 17.00 UTC'de otomatik biçimde haftalık bir rapor oluşturan bir iş akışı ayarlamanız gerekiyor. Bu görev için en uygun tetikleyici olayı hangisidir?

Tetikleyicileri Gözden Geçirme

GitHub Actions tetikleyicilerini keşfetme konusunda harika iş çıkardınız! İş akışlarının çeşitli olaylarla nasıl başlatıldığını öğrendiniz:

  • push: Deponuza gönderilen değişiklikler için.
  • pull_request: Çekme istekleriyle ilgili işlemler için.
  • schedule: Cron kullanılarak zamana dayalı, yinelenen görevler için.
  • workflow_dispatch: Kullanıcı arayüzünden veya API üzerinden el ile çalıştırma için.

Doğru tetikleyiciyi seçmek, etkili ve verimli CI/CD işlem hatları oluşturmanın ilk adımıdır!

Sıkça Sorulan Sorular

“İş Akışı Tetikleyicileri ve Olayları” dersi ücretsiz mi?

Evet — “İş Akışı Tetikleyicileri ve Olayları” 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.

“İş Akışı Tetikleyicileri ve Olayları” dersinde ne öğreneceğim?

Gönderimler, çekme istekleri ve zamanlanmış olaylar gibi GitHub Actions iş akışlarınızı tetikleyebilecek çeşitli olayları keşfedin. 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 1. dersidir.

“İş Akışı Tetikleyicileri ve Olayları” 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