-
Yazının özeti
- Bash betiklerine Ruby ekleyerek CLI aracı otomasyonunu gerçekleştirmeye yönelik çeşitli ipuçlarını tanıtıyor.
- Başka betik dilleri de kullanılabilir, ancak Ruby'nin okunabilirliği ve esnekliği özellikle vurgulanıyor.
-
Neden Bash yerine Ruby?
- Ruby, açık veri türleri (tamsayı, kayan noktalı sayı, dize, dizi, hash vb.) sunarak kodun okunabilirliğini artırır.
- macOS kullanıcıları için Homebrew kuruluysa birlikte gelen Ruby sayesinde kullanım değeri yüksektir.
- CocoaPod, Fastlane gibi build/otomasyon betiklerinde Ruby faydalı biçimde kullanılabilir.
- JSON, CSV, YAML gibi çeşitli veri formatları yerleşik kütüphanelerle kolayca işlenebilir.
-
Ruby one-liner betikleri yazmak
- Tek satırlık betikler
ruby -e "<expression>"biçiminde çalıştırılabilir. - Pipe ve redirection kullanarak diğer CLI araçlarının çıktıları alınıp işlenebilir.
-rseçeneğiyle gerekli kütüphaneler önceden yüklenerek işlevsellik genişletilebilir.
- Tek satırlık betikler
-
Diğer CLI araçlarıyla birleştirerek kullanmak
- AWS CLI, Git, GitHub CLI, jq, curl gibi araçlarla Ruby'yi birleştirmek, her birinin tekil güçlü yanlarını en üst düzeye çıkarabilir.
- JSON veri işleme örneği:
curlile API çağrısı yaptıktan sonra Ruby'nin JSON kütüphanesiyle veriyi parse edip belirli alanları (ör. title) yazdırmak.
- YAML veri işleme örneği:
cat config.yamlile dosyayı okuduktan sonra Ruby'nin YAML kütüphanesiyle parse ederek belirli yapılandırma değerlerini çıkarmak.
- CLI araçlarının sonuçları Ruby ile ek olarak işlenerek daha esnek otomasyon iş akışları kurulabilir.
-
Yapılandırılmamış veri işleme (Git log örneği)
- Her veri JSON/CSV/YAML gibi yapılandırılmış olmak zorunda değildir.
- Ruby'nin düzenli ifadeleri ve metin işleme özellikleriyle loglar, sistem mesajları vb. satır satır okunup gerekli bilgiler çıkarılabilir.
- Git log betiği örneği:
git log --oneline #{file}ile tek satırlık commit loglarını çıkarmak.gum choose --limit 100ile istenen logları etkileşimli olarak seçmek.- Seçilen her logdan commit hash'ini çıkarıp
git showile ayrıntılı değişiklikleri göstermek. - Son olarak seçilen logları kontrol listesi biçiminde yeniden düzenleyip çıktısını vermek.
-
Kapanış
- CLI araçları ile Ruby betiklerini birleştirerek basit komut kombinasyonlarıyla güçlü otomasyon araçları oluşturulabilir.
- Karmaşık veri işleme, log analizi ve sürüm kontrolü işleri verimli şekilde otomatikleştirilerek üretkenlik en üst düzeye çıkarılabilir.
- Küçük bir başlangıç büyük değişimler yaratabilir; okuyucuların da kendi yan projelerine başlaması teşvik ediliyor.
- Ek olarak Perl de faydalıdır; Perl One-Liners Guide gibi kaynaklar yardımcı olabilir.
Henüz yorum yok.