DevOps

Ddev’e Aljibe Eklemek: Kurulu Projede Sürprizler

Bakın şimdi, DDEV ile çalışan bir Drupal projesine yeni araç eklemek kulağa kolay geliyor. Hani birkaç komut, biraz Composer, sonra da “tamamdır” dersiniz ya… İşte ddev-aljibe tam öyle anlarda devreye giriyor (bizzat test ettim). Ama pratikte iş biraz daha kıvrımlı olabiliyor. Geçen ay, Kadıköy’de bir müşteri projesinde benzer bir kurulum yaparken aynı hissi yaşadım — kağıt üstünde tertemiz duran akış, terminalde ufak bir çelme takınca hemen başka bir yöne sapıyor.

Aljibe’nin asıl numarası şu: DDEV kullanan Drupal projelerine test. Statik analiz tarafında gerekli parçaları tek seferde toparlamaya çalışıyor. Yani PHPCS, PHPStan, — ki bu tartışılır — PHPMD, Behat gibi araçları tek tek kovalamak yerine daha toplu bir başlangıç noktası sunuyor. Güzel fikir. Peki bunu neden söylüyorum? Fena değil, hatta bayağı işe yarıyor — ama kurulu ve yaşayan bir projeye bunu sonradan eklemek, işte orası biraz “düz gitmiyor.”

💡 Bilgi: ddev-aljibe, Metadrop tarafından hazırlanmış bir DDEV eklentisi. Amaç; Drupal projelerinde test ve kod kalitesi araçlarını daha düzenli biçimde ayağa kaldırmak.

Aljibe ne yapıyor, neden önemli?

Dürüst olayım. Ben bu tarz “kurulum sihirbazı” yaklaşımını seviyorum ama körü körüne de alkışlamıyorum, çünkü her proje aynı değil — küçük bir ekipte sıfırdan başlayan kurulumla yıllardır yaşayan, composer bağımlılıkları iyice şişmiş bir kurumsal proje aynı dünyada yaşamıyor,. Bunu görmezden gelirsek hayal kırıklığı kaçınılmaz oluyor. Aljibe tam burada değer kazanıyor. Ama sınırları da var.

Dürüst olmak gerekirse, Bir de şu var: Drupal ekosisteminde test tarafı çoğu zaman erteleniyor. Önce site açılsın, içerik girilsin, sonra bakarız deniyor. Sonra üç ay geçiyor. Kimse Behat’ı çalıştırmaya cesaret edemiyor. Ben 2023’ün sonlarında İzmir’de yürüttüğüm bir bakım projesinde bunu birebir gördüm; kod kalitesi araçları vardı. Kurulumu öyle yamalıydı ki yeni geliştirici onboarding’i neredeyse mini kabusa dönüyordu.

Kısa bir not düşeyim buraya.

Aljibe’nin vaadi burada güzel: “Tek pakette geliyorum, seni dağıtmadan toparlıyorum.” Bu cümle kulağa basit geliyor ama operasyon tarafında bayağı fark yaratıyor — özellikle yeni ekip üyesi geldiğinde ya da staging ortamını yeniden ayağa kaldırmanız gerektiğinde…

Kurulu projeye eklerken ilk adımlar

Kendi denediğim akışta ilk iş plugin’i çekmek oldu. Komut da çok süslü değil:

ddev add-on get metadrop/ddev-aljibe
ddev restart
ddev aljibe-assistant

Buraya kadar her şey gayet makul gidiyor. Restart sonrası assistant açılıyor ve sizi soru yağmuruna tutuyor. Açık konuşayım, bu tür sihirbazlar bazen gereksiz uzar; ama burada en azından “ne yaptığını biliyor” hissi veriyor. İdare eder.

Benim testimde arada ddev composer update çalıştırmam gerekti (ciddiyim). Bunu tam orta yerde yapmak biraz sinir bozucu olabiliyor, çünkü insan akışı kaçırdığını düşünüyor… Ama terminal dünyasında bu normaldir işte. Bazen araç size “önce bağımlılıkları hizala” diye göz kırpar.

Aşama Ne yapılıyor? Bende ne hissettirdi?
Eklentiyi çekme ddev add-on get metadrop/ddev-aljibe Kolay ve temiz
Sistemi yenileme ddev restart Zorunlu ama normal
Sihirbazı başlatma ddev aljibe-assistant Nihayet rehberlik başladı dedirtiyor
Composer güncellemesi ddev composer update Küçük sürprizli kısım burasıydı
Kurulumda görülen temel adımların kısa özeti.

Sihirbazın soruları ise gayet mantıklı ilerliyor: proje adı nedir, Drupal 10 mu 11 mi istiyorsunuz, yeni git reposu açacak mıyız, Drupal kurulacak mı… Benim durumda mevcut proje zaten hazır olduğu için çoğuna “hayır” demek gerekiyordu.

Sihirbazda hangi cevapları verdim?

  • Proje adı: Varsayılanı bıraktım.
  • Drupal sürümü: Proje Drupal 11 olduğu için ekstra değişiklik yapmadım.
  • Git repo: Zaten repo vardı, o yüzden hayır dedim.
  • Drupal kurulumu: Site zaten kurulu olduğu için atladım.

Bence en kritik nokta şu: Eğer sıfırdan başlıyorsanız süreç pürüzsüz olabilir. Ama mevcut projede bazı seçenekleri dikkatle geçmeniz gerekiyor — yoksa sihirbaz iyi niyetle gelip sizin emeğinizi overwrite etmeye kalkabilir. Bu kısmı hafife almayın. Daha fazla bilgi için PDF Dünyasında Bir Nefes: Ücretsiz ve Limitsiz Araçlar yazımıza bakabilirsiniz.

Beni şaşırtan iki sorun: Composer ve Behat çatlağı

Kurulum sırasında karşıma çıkan ilk gariplik vlucas/phpdotenv paketinin yer değiştirmesiydi. Paket requirement’tan require-dev’e kaydı. Bunun sebebi bende mi vardı yoksa Aljibe’nin davranışı mı böyleydi? Yüzde yüz emin değilim,. Sanırım projedeki mevcut yapı bunu tetiklemiş olabilir.

Açık söyleyeyim, bu durum hiç hoşuma gitmedi. Çünkü böyle küçük görünen kaymalar uzun vadede CI/CD hattını etkiliyor — geliştirme ortamında sorun çıkarmayan şey production deploy’da patlayabiliyor, ve bunu keşfettiğinizde genellikle en kötü zamandır. Ben paketi tekrar ana requirement tarafına aldığımda işler normale döndü.

Hmm, bunu nasıl anlatsamdı… Bu konuyla ilgili Leapmotor T03 Ticari Versiyonuyla Avrupa’ya Açılıyor: Ucuzluk Yetiyor mu? yazımıza da göz atmanızı tavsiye ederim. Daha fazla bilgi için Butterfly CSS: 2026’da Dikkat Çeken Hafif Bir Seçenek yazımıza bakabilirsiniz.

Daha can sıkıcı olan ise ddev behat çalıştırınca gelen hata oldu. Hata metni sınıf imzası uyumsuzluğu yüzünden patlıyordu; NuvoleWeb ile Drupal Extension arasında : void farkı oluşmuş gibiydi. Maalesef. İşin aslı şu ki bu tip hatalar genelde sürüm çakışması kokusu taşır — hani kahve makinesi bozulmadan önce gelen o garip ses gibi… Bu konuyla ilgili Docker Compose İçin 7 Şablon: Kurulum Kafası Karışmasın yazımıza da göz atmanızı tavsiye ederim.

Behat tarafında çıkan hata bana şunu hatırlattı: Bir eklenti sadece kurulunca bitmiyor; yanındaki bağımlılıklarla birlikte nefes alıp veriyor.

Küçük ekip için başka, kurumsal ekip için başka sonuçlar

Bak şimdi, Küçük bir startup’ta Aljibe bayağı rahatlatıcı olabilir. Tek kişi backend yazıyor olsa bile test altyapısını standartlaştırmak büyük kazanç sağlıyor, çünkü herkes aynı komutla aynı sonuçlara ulaşıyor. Kurumsal tarafta ise tablo biraz farklı; orada güvenlik politikaları, mevcut CI agent’ları. Kilitlenmiş dependency sürümleri devreye giriyor. Bambaşka bir dünya.

Meseleyi şöyle düşünün: Startup mutfağında tek tencereyle yemek çıkarırsınız. Enterprise mutfağında ise aynı yemeği beş ayrı tezgâhta pişirirsiniz ama tarifin değişmemesi gerekir. Aljibe tam tarif kitabını — ki bu tartışılır — veriyor gibi duruyor — ama sizin mutfağın dolaplarına göre ufak ayarlar şart olabilir. Bu kadar. Bu konuyla ilgili Find Your Words: Oyunda Daha Önce Görmediğim Bir Dil yazımıza da göz atmanızı tavsiye ederim.

Bana göre artıları net:

  • Test ve analiz araçlarını tek yerde topluyor.
  • Yeni başlayan biri için öğrenme eğrisini düşürüyor.
  • DDEV ile doğal biçimde uyumlu duruyor.

Ama eksileri de var:

  • Mevcut projelerde bağımlılık kaymaları yaşanabiliyor.
  • Behat gibi parçalar sürüm hassasiyetine takılabiliyor.
  • Her şeyi otomatik sanmak fazla iyimser olur. (bu kritik)

Neyi iyi yaptı, nerede tökezledi?

Editör masasında bu haberi görünce hemen kendi sandbox ortamımda denedim — çünkü böyle konular teoride anlatılırken pek tatlı durur. Gerçek kullanımda ayrıntılar konuşur. Mesela otomasyonun iyi yani hız. Neden önemli bu? Kötü yanıysa bazen sizin eski düzeninizi görmeden üzerine basması.

Deneğimde Aljibe’nin asistan akışı fena değildi. Hatta yeni ekip arkadaşına göstermek için ideal sayılır (ki bu çoğu kişinin gözünden kaçıyor). Ama beklediğim kadar sorunsuz değildi — özellikle halihazırda oturmuş composer yapısı olan projelerde. Bu yüzden “tak-çalıştır” diye pazarlamak bence biraz fazla iddialı olur. Hmm, belki “tak-ince-ayar-çalıştır” desek daha doğru olur.

Peki kimler kullanmalı?

Vallahi, Eğer sıfırdan DDEV tabanlı Drupal projesi açıyorsanız kesin bakın derim. Eğer eski bir projeye sonradan sokacaksanız önce küçük dalga halinde deneyin. Ben olsam önce ayrı branch açarım, composer.lock dosyasını kontrol ederim, sonra Behat/PHPCS/PHPStan tarafını tek tek doğrularım. Acele etmeye gerek yok.

  • Sıfırdan başlayan ekipler için uygun.
  • Zaten test kültürü olan projelerde hızlı kazanım verir. — bunu es geçmeyin
  • Karmaşık dependency geçmişi olan yapılarda dikkat ister.
  • CI hattına geçmeden önce yerelde mutlaka denenmeli. (bu kritik)

Tavsiyem ne olurdu?

Lafı gevelemeden söyleyeyim: Aljibe mantıklı bir araç, ama onu kurtarıcı gibi görmek yanlış olur. Öyle bir beklentiyle yaklaşırsanız hayal kırıklığı garantidir. Ben olsam üç aşamalı giderdim — önce temiz branch, sonra yerel kurulum, ardından CI entegrasyonu. Arada patlayan paket varsa da panik yapmadan sabitlersiniz. Olmaz değil.

E tabi burada en önemli konu iletişim (inanın bana). Takımdaki herkes aynı komut setini bilmiyorsa bu tarz araçların faydası yarıya iner — bunu geçen sene Bursa’daki küçük bir ajans ekibine benzer bir standardizasyon önerirken bizzat gördüm; iki hafta sonra onboarding süresi gözle görülür biçimde kısalmıştı, ve bunu görünce insan sevinmeden edemiyor tabii. Boşa uğraşmadığınızı anlıyorsunuz. Güzel his.

Sıkça Sorulan Sorular”>

Ddev-aljibe nedir?

DDEV üzerinde çalışan Drupal projeleri için test ve kod kalite araçlarını topluca kurmaya yardımcı olan bir eklentidir. Mesela PHPCS,PHPStan,PHPMD ve Behat gibi araçlarla uğraşan ekiplerde işleri sadeleştirir.

Zaten DDEV kullanan mevcut projeye eklenebilir mi?

p>Evet, eklenebilir ama dikkat ister. Mevcut bağımlılıklarınız varsa özellikle composer değişikliklerini kontrol etmeniz gerekir; aksi halde ufak sürprizler çıkabilir.

Neden Behat hatası aldım?

>”);

Aşkın KILIÇ

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

← Onceki Yazi
Docker Compose İçin 7 Şablon: Kurulum Kafası Karışmasın
Sonraki Yazi →
Amazon’un Uydu Hamlesi: Globalstar İçin 11,57 Milyar Dolar

Yorum Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Kategoriler
Ara
Paylaş
İçindekiler
← Docker Compose İçin 7 Şablon: ...
Amazon’un Uydu Hamlesi: Global... →
📩

Gitmeden önce!

Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

📬 Haftalık bülten: Teknoloji + AI haberleri