GitHub Actions
- Flutter kursu
- İleri seviye
- Ders 64/69
- 4 dk
GitHub Actions ile Flutter CI akışı kurmayı öğrenirsin.
GitHub Actions nedir?
GitHub Actions, GitHub deposuna ittiğin kodda otomatik işler (CI) çalıştıran bir sistemdir. .github/workflows/ klasörüne YAML dosyası koyarak bir workflow tanımlarsın. Flutter için tipik bir akış flutter test ve flutter build adımlarını içerir.
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
- run: flutter testCI adımları
Tipik bir Flutter CI akışı: kodu çıkar (actions/checkout), Flutter SDK'yı kur (subosito/flutter-action), bağımlılıkları yükle (flutter pub get), testleri çalıştır (flutter test), yapı oluştur (flutter build apk). Her run: satırı bir kabuk komutudur.
Uygulama CI adımları listesi
main içinde CI adımlarından oluşan bir String listesi tanımla: sırasıyla 'checkout', 'flutter pub get', 'flutter test', 'flutter build apk'. Listenin 3. elemanını (index 2) print ile yazdır.
Başlangıç kodu
void main() {
// CI adımları listesi tanımla: checkout, flutter pub get, flutter test, flutter build apk
// listenin 3. elemanini (index 2) yazdir
}Örnek çözüm
void main() {
final steps = <String>[
'checkout',
'flutter pub get',
'flutter test',
'flutter build apk',
];
print(steps[2]);
}Beklenen çıktı
flutter test
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 GitHub Actions workflow dosyası hangi klasöre konur?
- bin/
- lib/
- .github/workflows/ Doğru cevap
- test/
Açıklama: Workflow YAML dosyaları .github/workflows/ klasörüne konur; GitHub bu klasörü tarayarak CI işlerini başlatır.
2 Workflow tetikleyicisi
on: [____, pull_request]
on: [push, pull_request]
Açıklama: GitHub Actions workflow'u on: anahtarıyla tetiklenir; push ve pull_request en yaygın tetikleyicilerdir, merge ve commit doğrudan tetikleyici değildir.
3 GitHub Actions eşleşmeleri
| Kavram | Anlamı |
|---|---|
GitHub Actions |
CI sistemi |
workflow |
Otomatik iş akışı |
.github/workflows |
Workflow klasörü |
run |
Kabuk komutu |