Bash ile araç geliştirmek: test, kütüphane ve dağıtım
Bash betiklerini ekiplerin güvendiği araçlara dönüştürürsün: kütüphane yapısı, bats ile test, yapılandırma, günlükleme, sürümleme ve CI denetimi.
Seviye 401 · 18 ders · 15 pratik lab
Dersler
Yapı
- Bash ne zaman doğru araçtır, ne zaman değildir
- Araç projesinin düzeni: bin, lib, etc ve testler
- Kütüphane dosyaları ve güvenli source
- Yapılandırma dosyası, ortam ve seçenek önceliği
- Kısa görev: 800 satırlık betiği modüllere böl
Test
- bats ile ilk testler
- Dış komutları taklit etmek: PATH ile sahte araçlar
- Hata yollarını test etmek
- Kısa görev: kritik fonksiyonlara test yaz, bulduğun hatayı düzelt
İşletme
- Yapılı günlük: zaman, düzey ve JSON satırı
- Tekrar çalıştırılabilirlik: her seferinde aynı sonucu veren betik
- Deneme kipi, onay ve geri alma
- Betikte gizli bilgi: ortam, dosya izinleri ve sızıntı
- Kısa görev: kurulum betiğini on kez çalıştır, sistem bozulmasın
Dağıtım
- Sürümleme, değişiklik günlüğü ve --version
- Kabuk tamamlama ve man sayfası yazmak
- CI'da ShellCheck, shfmt ve bats
- Bitirme görevi: ekibin sunucu devir aracını test edilmiş bir sürüm olarak yayınla
Pratik lablar
- Uzun betiği modüllere böl: Tek dosyalık uzun betiği bin, lib ve etc düzenine böl, davranış aynı kalsın.
- Kütüphaneyi nereden çağrılırsa çağrılsın bulduran yükleme yaz: Başka dizinden ya da sembolik bağlantıyla çalıştırıldığında kütüphanesini bulamayan aracı kendi konumuna göre yükleyecek şekilde düzelt.
- Yapılandırma öncelik sırasını uygula: Aracın ayarlarını varsayılan, sistem dosyası, kullanıcı dosyası, ortam değişkeni ve seçenek sırasıyla okumasını sağla.
- Bir fonksiyon için ilk bats testini yaz: Sürüm karşılaştırma fonksiyonu için üç durumu sınayan bats testi yaz ve geçtiğini göster.
- Dış komutu sahte araçla taklit ederek test et: systemctl çağıran fonksiyonu PATH'e koyduğun sahte bir komutla test et, gerçek servislere dokunma.
- Hata yollarını sına ve bulduğun hatayı düzelt: Eksik dosya, yetkisiz dizin ve bozuk girdi durumları için testler yaz ve ortaya çıkan gerçek hatayı düzelt.
- Kurulum betiğini on kez çalıştırılabilir yap: Her çalıştırmada satırları tekrar ekleyen kurulum betiğini, kaç kez çalışırsa çalışsın aynı sonucu verecek hale getir.
- Araca onay ve geri alma ekle: Yapılandırma değiştiren araca onay sorusu, kuru çalıştırma ve son değişikliği geri alan bir alt komut ekle.
- Betikten sızan parolayı kapat: Parolayı komut satırı argümanında ve hata ayıklama çıktısında gösteren betiği izni kısıtlı dosyadan okuyacak şekilde düzelt.
- Araca yapılı günlük ekle: Araca zaman, düzey ve mesaj alanlarıyla JSON satırları yazan bir günlük fonksiyonu ekle.
- Araç için man sayfası yaz: Aracın kullanımını, seçeneklerini ve çıkış kodlarını anlatan bir man sayfası yaz ve man ile açıldığını doğrula.
- Araç için kabuk tamamlama yaz: Aracın alt komutlarını, seçeneklerini ve envanter dosyasındaki sunucu adlarını tamamlayan bir bash tamamlama betiği yaz ve yükle.
- Araca --version ve değişiklik günlüğü ekle: Araca tek bir kaynaktan okunan sürüm numarası, --version seçeneği ve biçimli değişiklik günlüğü ekle.
- ShellCheck, shfmt ve bats'i tek denetimde birleştir: Üç aracı sırayla çalıştıran ve herhangi biri başarısızsa duran bir denetim betiği yaz, depodaki hataları gider.
- Sunucu devir aracını testli sürüm olarak yayımla: Ekibin devir aracını testleri geçen, sürümlenmiş ve kurulum betiği olan bir arşiv halinde paketle.
Kurs hakkında
Bash betiklerini ekiplerin güvendiği araçlara dönüştürürsün: kütüphane yapısı, bats ile test, yapılandırma, günlükleme, sürümleme ve CI denetimi.
Ne öğreneceksin
Ön koşullar
Aynı yolun 301 düzeyine kadar olan konularını uygulamış olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 401 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.