İş akışlarını anlama
İş akışları, projenizi derlemek, test etmek, paketlemek, yayımlamak veya dağıtmak için tanımladığınız otomatikleştirilmiş işlemlerdir. Bunlar, deponuzdaki belirli olaylara yanıt olarak çalışan bir veya daha fazla işten oluşur.
İş akışı yapısı
Her iş akışı şu temel bileşenleri içerir:
Tetikleyiciler (Olaylar)
İş akışınızın itme, pull talebi, zamanlanmış görev veya elle tetikleme sırasında ne zaman çalıştırılacağını tanımlayın.
İşler
Aynı çalıştırıcıda yürütülen adımlar dizisi. İşler varsayılan olarak paralel olarak çalışır, ancak sıralı olarak çalışacak şekilde yapılandırılabilir.
Steps
Bir işin içindeki komutları çalıştırabilen, görevleri ayarlayabilen veya eylemleri kullanabilen tek tek görevler.
Koşucu
GitHub tarafından barındırılan veya kendi barındırılan işlerinizin yürütüldüğü bilgisayar ortamı.
İş akışı konumu ve adlandırma
İş akışları, deponuzun dizininde .github/workflows YAML dosyaları olarak depolanır. Dosya adı GitHub kullanıcı arabiriminde iş akışı tanımlayıcısı olur.
Modern iş akışı örneği
Geçerli en iyi yöntemlerin kullanıldığı kapsamlı bir örnek aşağıda verilmiştir:
# .github/workflows/ci.yml
name: CI Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
schedule:
- cron: "0 2 * * 0" # Weekly dependency check
env:
NODE_VERSION: "20"
jobs:
test:
name: Test and Lint
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run linting
run: npm run lint
- name: Run tests with coverage
run: npm run test:coverage
- name: Upload coverage reports
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
build:
name: Build Application
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Build application
run: npm run build
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-files
path: dist/
Modern iş akışlarında önemli geliştirmeler
Bu örnekte geçerli en iyi yöntemler gösterilmektedir:
-
En son eylem sürümleri: Popüler eylemlerin sürümlerini kullanma
@v4 - Bağımlılık önbelleğe alma: İş akışı yürütmeyi hızlandırır
- Ortam değişkenleri: Merkezi yapılandırma yönetimi
-
İş bağımlılıkları:
buildİş yalnızca başarılı olduktan sonratestçalışır - Yapıt işleme: Derleme çıkışlarının uygun şekilde depolanması ve paylaşılması
- Güvenlik: Belirteçler gibi hassas veriler için gizli dizileri kullanma
Ek kaynaklar
İş akışı bilgilerinizi geliştirmek için şu kaynakları keşfedin:
- Başlangıç İş Akışları - Yaygın senaryolar için önceden oluşturulmuş şablonlar
- İş Akışı Söz Dizimi Referansı - Tam söz dizimi belgesi
- Market Eylemleri - Topluluk tarafından katkıda bulunan eylemler