Önizleme ortamları ve üretim: her özellik için önizleme URL'si oluşturma, güvenli şekilde üretime yükseltme ve sorun çıktığında hızlı geri alma için basit bir iş akışı.

Önizleme ortamı, tarayıcıda açıp başkalarıyla paylaşabileceğiniz geçici bir uygulama kopyasıdır. İzole olur, yani orada yaptığınız değişiklikler canlı uygulamayı etkilemez. Bunu yeni bir özelliğin herkesin kullanımına sunulmadan önce görülebildiği ve tıklanabildiği güvenli bir deneme aşaması olarak düşünün.
Yaygın kurgu, her özellik veya her değişiklik için bir önizleme URL'si olmasıdır. Böylece geri bildirim basit olur: bir bağlantı gönderirsiniz, bir ekip arkadaşınız, bir müşteri veya ertesi gün kendi kendinize bakın—ve herkes aynı sürüme bakıyor olur.
Üretim gerçek uygulamadır. Gerçek kullanıcıların gördüğü şey budur: gerçek hesaplar, gerçek ödemeler, gerçek veriler ve gerçek beklentiler. Üretimde bir şey kırılırsa, sadece can sıkıcı olmaz — satış kaybı, destek biletleri veya veri sorunları anlamına gelebilir.
İsimler teknik gelebilir, ama fikir basit: önizleme öğrenmek için, üretim hizmet vermek içindir.
Sohbetle oluşturulan uygulamalar da aynı güvenlik adımlarına ihtiyaç duyar çünkü riskler değişmez. Koder.ai gibi bir platformla sohbet ederek bir uygulama yaratsanız bile, tarayıcılarda çalışan ve veritabanlarıyla konuşan kod gönderiyorsunuz. Küçük bir değişiklik (örneğin bir form alanı veya bir veritabanı sorgusu) gerçek trafik geldiğinde büyük etkiler yaratabilir.
Önizlemeleri iyi kullandığınızda, canlı uygulamayı bozmadan daha hızlı geri bildirim alırsınız. Bir özelliği bağlamında inceleyebilir, bariz sorunları erken yakalayabilir ve sonra değişikliği doğru göründüğünde üretime yükseltirsiniz.
Bir özelliği sohbet aracında oluşturmak neredeyse anlık gelebilir. Risk daha sonra ortaya çıkar; değişikliğin gerçek altyapıda çalışması, gerçek servislerle konuşması ve gerçek kullanıcılara hizmet etmesi gerektiğinde. Bu yüzden önizleme vs üretim sadece bir barındırma seçimi değil — sürprizleri azaltma yolunuzdur.
Çoğu yayın sorunu “kötü kod” değildir. Bunlar, test ettikleriniz ile kullanıcıların dağıtımdan sonra karşılaştıkları şey arasındaki uyumsuzluklardır. Bir sayfa önizlemede mükemmel görünebilir ama üretimde farklı ayarlar, farklı veriler ve daha sıkı güvenlik kuralları yüzünden kırılabilir.
Aynı sorunlar tekrar tekrar görülür:
Önizlemeler, müşterileri riske atmadan davranışı ve kullanıcı akışını doğruladığınız yerdir. Layoutları, temel navigasyonu, form doğrulamalarını ve bir özelliğin test verisiyle uçtan uca çalışıp çalışmadığını kontrol etmek için iyidirler.
Bazı şeyleri tam olarak kanıtlamak önizlemelerde zordur; üretime benzer bir staging kurulumu yoksa: son alan adı ve çerez davranışı, canlı ödeme sağlayıcıları, gerçek e‑posta gönderimi ve gerçekçi trafik altındaki performans. Bunlar üretim yapılandırması ve gerçek entegrasyonlara bağlıdır.
Amaç tekrar edilebilir bir yayın iş akışıdır. Örneğin Koder.ai'de, her bir özellik için bir önizleme URL'si oluşturabilir, bir ekip arkadaşıyla inceleyebilir ve küçük bir kontrol setinden sonra aynı build'i üretime yükseltebilirsiniz. Ve bir şey atladıysa, kötü bir yayının uzun bir kesinti değil de kısa bir olay olması için hızlı bir geri alma yoluna ihtiyacınız vardır.
İyi bir önizleme kurulumu dört soruyu hızlıca yanıtlar: ne değişti, nereden görebilirim, hangi sürüme bakıyorum ve kim açabilir.
URL (veya alt alan etiketi) ekibinizin işi nasıl konuştuğuna uysun: bir özellik adı veya bir ticket ID'si. Kısa, tutarlı ve sohbete yapıştırmaya güvenli tutun.
prv-<ticket>-<short-feature> (örnek: prv-482-checkout-tax)prv-482-checkout-tax-alex)main ve prod kelimelerini rezerv olarak kabul edinEğer Koder.ai kullanıyorsanız, her önizleme URL'sini bir anlık görüntüyle eşlemek, daha sonra başka işler olsa bile önizlemenin stabil kalmasına yardımcı olur.
Bir önizleme tek bir build ve konfigürasyona işaret etmeli, “şu an ne varsa” dememeli. Bu genellikle bir önizleme URL'sinin bir snapshot (veya commit‑benzeri sürüm) ile eş anlamlı olması demektir.
Geri bildirim geldiğinde, önizlemeyi görünür şekilde güncelleyin: yeni bir snapshot oluşturun ve önizlemeyi o snapshot'a geçirin (ya da yeni bir önizleme URL'si oluşturun). Paylaşılan bir URL'nin gösterdiğini gizlice değiştirmekten kaçının.
Bir varsayılan seçin ve bunu belgeleyin:
Önizlemeler ekran görüntüleri ve iletilen mesajlarla sızdırılabilir. "Ekip‑içi, açıkça paylaşılmadıkça" gibi net bir kural kullanın ve temel kontrollerle zorlayın (giriş zorunlu, allowlist veya paylaşım parolası).
Ayrıca önizlemelerin ne kadar süre yaşayacağını belirleyin (örneğin merge sonrası sil) ki eski URL'ler gözden geçirenleri yanıltmasın.
İyi bir önizleme kurulumu her değişikliği izole tutar. Bir özellik bir URL alır, böylece inceleyenler hangi sürüme baktıklarını tahmin etmek zorunda kalmazlar.
En stabil noktadan başlayın: main branch'i temiz tutuyorsanız oradan, yoksa main gürültülüyse son üretim sürümünden başlayın. Bu, önizlemenin özelliğe odaklanmasını sağlar, alakasız değişikliklere değil.
Özellik için ayrı bir çalışma alanı oluşturun (örneğin “billing-copy-update” veya “new-onboarding-step”). Bu çalışma alanını bir önizleme ortamına dağıtın ve önizleme URL'sini özelliğin evi olarak kabul edin.
Koder.ai gibi sohbetle oluşturulan bir araç kullanıyorsanız, iş akışı burada doğal hisseder: özelliği kendi alanında oluşturun, sonra üretimi ellemeden ayrı bir önizleme dışa aktarın veya dağıtın.
En yaygın kırılmaları yakalayacak hızlı bir kontrol yapın. Küçük ve tekrar edilebilir tutun:
Test ettiklerinizi bir cümleyle not edin. Sonra zaman kazandırır.
Önizleme URL'sini kısa bir notla gönderin: ne değişti, ilk nerelere tıklanmalı ve “tamamlandı” ne demek. "İyi görünüyor mu?" yerine spesifik geri bildirim isteyin (metin, düzen, uç durumlar).
Geri bildirim uygulayın, yeniden dağıtın ve turlardaki değişiklikleri not alın. Önizleme onaylandığında, neyin test edildiğine ve neden hazır olduğuna dair net bir iziniz olmalı.
Bir önizleme tam bir QA maratonu için yer değildir. Genelde, kimsenin uygulamayı gerçek kullanıcı gibi bakmadığı için üretime sızan hataları yakalamak için kullanılır.
Temelden başlayın: ana sayfaları masaüstü ve mobil genişliklerde açın, navigasyonda tıklayın ve boş bir ekrana düşmediğinizi doğrulayın. Sonra müşteri gibi bir happy‑path akışı uçtan uca yapın.
Çoğu web uygulaması için işe yarayan minimum test seti:
Uygulamanız diğer sistemlere bağlıysa, özellik başına bir küçük entegrasyon kontrolü yapın. Test e‑postası tetikleyin, sandbox modunda küçük bir ödeme çalıştırın, bir webhook'u test endpoint'e gönderin veya küçük bir dosya yükleyip tekrar indirip doğrulayın. Her uç durumu kanıtlamıyorsunuz; sadece kabloların sağlam olduğunu doğruluyorsunuz.
Önizlemeler sıkıcı nedenlerle de başarısız olur: eksik ayarlar. Ortam değişkenlerinin ve sırların varlığını doğrulayın ve bunların doğru servisleri gösterdiğinden emin olun (genellikle sandbox). Yaygın bir tuzak, önizlemenin yanlışlıkla üretim anahtarlarını veya üretim verisini kullanmasıdır.
Son olarak, hafif bir performans kontrolü yapın. En yavaş sayfayı yükleyin ve bariz problemler için bakın: devasa resimler, uzun yükleme spinner'ları, tekrar eden API çağrıları. Bir önizlemede yavaş hissediyorsa, üretimde daha kötü hissettirir.
Koder.ai üzerinde çalışıyorsanız, bu önizleme kontrollerini alışkanlık haline getirin: önizleme URL'sini açın, kontrol listesi çalıştırın ve ancak sonra yükseltin. Anlık görüntüler ve geri alma yardımcı olur, ama sorunları erken yakalamak onları geri almaktan daha ucuzdur.
Yükseltme tek bir şeyi ifade etmelidir: önizlemede incelediğiniz tam sürüm üretime taşınır. Son dakika düzenlemeleri yok, onaydan sonra “hızlı düzeltmeler” yok. Önizlemeler güven sağlar; üretim kullanıcıları korur.
Küçük bir yayın kapısı bunu sıkıcı (iyi anlamda) tutar. Komiteye gerek yok. Her zaman takip ettiğiniz kısa bir kontrol setine ihtiyaç var, acele ediyorsanız bile:
Veritabanı değişiklikleri ekstra dikkat gerektirir. Daha güvenli bir desen “genişlet, sonra daralt”tır. Önce geriye uyumlu değişiklikler gönderin (sütun ekle, yeni tablo ekle, her iki yazma yolu olsun). Yeni sürüm stabil olduktan sonra eski sütunları veya eski kod yollarını kaldırın. Bu, rollback'in veritabanı yüzünden başarısız olma ihtimalini azaltır.
Zamanlama da güvenliğin parçasıdır. Basit bir kural seçin ve ona uyun:
Koder.ai üzerinde bu, incelenmiş bir önizlemeyi üretime yükseltmeye ve sonra duman testinde kaçan bir uç durum olursa anlık görüntü ve geri almaya güvenmeye iyi şekilde uyar.
Çoğu yayın sorunu “yeni hatalar” değildir. Önizleme ile üretim arasındaki uyumsuzluklar veya bir şey ters gittiğinde eksik güven ağıdır.
Tekrarlayan birkaç hata:
Sohbet tabanlı bir araçla (örneğin Koder.ai) inşa ediyorsanız, önizlemeleri geçici; üretimi kontrollü olarak görün. Amaç basit: her yükseltme tekrarlanabilir olsun, her geri alma sıkıcı olsun.
Geri alma sadece "eski kodu geri koymak" değildir. İyi bir geri alma, kullanıcıların bağlı olduğu durumu geri getirir: çalışan uygulama sürümü, çalıştığı ayarlar ve o sürüme uyan bir veritabanı durumu.
Kod geri alınır ama yeni bir konfigürasyon (API anahtarı, feature flag veya arkaplan iş planı) tutulursa, aynı kesintiyi başka bir isimle yaşayabilirsiniz. Kod geri alınır ama veritabanı zaten şekil değiştirdiyse, eski uygulama çökebilir veya yanlış veri gösterebilir.
Basit bir alışkanlık yardımcı olur: her üretim yayını öncesinde bilinen‑iyi bir anlık görüntü alın. O anlık görüntü sizin güvenlik hattınızdır. Platformunuz anlık görüntüleri ve tek tıkla geri almayı destekliyorsa (Koder.ai bunu yapar), bu adımı küçük değişiklikler için bile vazgeçilmez kılın.
Bir şey ters gittiğinde, çabuk karar verin: geri al veya ileriye sıcak düzeltme.
Sistem normal davrandığı duruma geri dönmeyi hedefleyin:
Olay olarak işaretleyin, tüm yeni değişiklikleri durdurun ve kurtarmayı doğrulayacak bir kişi atayın. Sonra temel şeyleri doğrulayın: ana sayfalar yükleniyor mu, oturum açma çalışıyor mu ve kritik işlemler başarılı mı. Stabil olduktan sonra geri almayı tetikleyen şeyi ve bir sonraki yayında neyi değiştireceğinizi yazın.
Aynı küçük kontrol setine her seferinde uyduğunuzda yayın daha güvenli hisseder. Yeterince kısa tutun ki gerçekten uygulayın, ama olağan sorunları yakalayacak kadar spesifik olsun.
Özellik hazır ve bir önizleme URL'niz olduğunda bunu kullanın:
Yayın ilk dakikalarında, değişiklik hâlâ akıl yürütmesi kolayken bunları yapın:
Bunu yazdırırsanız, yayın butonunuzun yanına koyun. En iyi kontrol listesi, her seferinde uyguladığınızdır.
Küçük bir ekip, sohbetle oluşturulmuş yeni bir ödeme adımı (örneğin “şirket adı ve KDV”) ekliyor. Satış ekibi bunu canlı müşteri çağrılarında denemek istiyor. Amaç önizleme ve üretimi net ayırırken hızlı hareket etmek.
Özellik branch'i oluşturuyorlar ve kendi URL'si olan bir önizleme build'i çıkarıyorlar, örneğin checkout-vat.preview. Önizleme üretimle aynı veritabanı şekline sahip ama test verisi kullanıyor. Satış ekibine önizleme URL'si ve kısa bir senaryo veriliyor: “Bir öğe ekle, KDV gir, test ödemesini tamamla.”
İki gün içinde geri bildirim geliyor: KDV alanı kafa karıştırıcı ve hata mesajı ürkütücü. Ekip UI'ı düzeltiyor, metni güncelliyor ve önizlemeyi yeniden dağıtıyor.
Takip ettikleri basit akış:
Dağıtım 20 dakika sorunsuz görünür, sonra ödemeler bozulmaya başlar. Hata kodda değil; ödeme sağlayıcı tarafından kullanılan gizli bir konfigürasyon değeri üretimde eksik.
Baskı altında sıcak düzeltme yapmaya çalışmak yerine, önceki anlık görüntüye geri dönüyorlar. Ödemeler hızla düzeliyor. Sonra yeni sürümü önizlemede geri geri kurup eksik konfigürasyonu oraya ekliyor ve yayın kapısını tekrarlıyorlar.
Sonrasında süreci şu şekilde düzeltiyorlar:
Yayınları özel bir etkinlik değil, tekrarlanabilir bir rutin olarak görün. Amaç, önizleme vs üretimin sıkıcı hissettirmesidir: her seferinde aynı adımlar, aynı kontroller.
Ortam kurallarınızı sade bir dille yazın. Kısa ve spesifik tutun: önizleme URL'lerini nasıl adlandırdığınız, kimlerin erişebileceği, hangi verilerin izinli olduğu ve orada bulunan sorunları kim çözmekten sorumlu olduğu. Veri için basit bir kural işe yarar: önizlemeler test verisi veya maskelenmiş kopya kullanır ve gerçek müşteri kayıtlarına dokunmaz, açık bir neden ve onay olmadıkça.
Bir alışkanlığı vazgeçilmez yapın: her üretim yayını bir anlık görüntüyle başlar ve bir duman testiyle biter. Anlık görüntü, yayın bozulursa güvenli bir çıkış sağlar. Duman testi, uygulamanın en önemli birkaç işleminin hâlâ çalıştığını kanıtlar.
Kullanılabilecek hafif varsayılan:
Değişiklikler küçük kaldıkça risk hızla düşer. Daha sık, tek özellikli yayınları tercih edin. Değişiklik büyükse, arka uç mantığı tam kullanılmadan UI önce geliyorsa bile parçalara ayırın ki güvenle gönderilebilsin.
Koder.ai ile inşa ediyorsanız, her özellik için önizleme dağıtımlarına güvenin ki gözden geçirenler ekran görüntülerinden tahminde bulunmak yerine gerçek bir URL'yi tıklayabilsin. İyi görünüyorsa üretime yükseltin ve kötü bir dağıtımın uzun bir kesinti yerine kısa bir sapma olmasını sağlamak için anlık görüntüleri ve geri almayı hazır tutun.
Bir önizleme ortamı, geri bildirim almak için açıp paylaşabileceğiniz geçici, izole bir uygulama kopyasıdır. Üretim ise gerçek kullanıcıların güvendiği canlı uygulamadır; gerçek veriler ve hata durumunda gerçek sonuçlar vardır.
Varsayılan kural: önizleme öğrenmek ve kontrol etmek içindir, üretim müşterilere hizmet etmek içindir.
Kullanıcıların gördüğü veya yaptığı şeyi etkileyen her değişiklik için önizleme oluşturun: UI güncellemeleri, formlar, kimlik doğrulama, faturalama, veritabanı sorguları veya üçüncü taraf entegrasyonları.
Değişiklik hatalı olduğunda destek talepleri oluşturabilecekse, önce bir önizleme bağlantısı hak eder.
Gözden geçirenlerin neye baktığını açıkça söyleyen basit, tutarlı bir desen kullanın:
prv-<ticket>-<feature> (örnek: prv-482-checkout-tax)prod veya main gibi isimlerden kaçınınAmaç: birisi URL'yi sohbete yapıştırdığında herkesin ne olduğunu anlamasıdır.
Bir önizleme tek bir belirli yapıya işaret etmelidir ("en son neyse" değil).
Pratik yaklaşım:
Bu, geri bildirimlerin herkes için aynı sürüme göre gelmesini sağlar.
Takımınız için bir varsayılan belirleyin ve belgeleyin:
Varsayılan öneri: üretim benzeri uç durumları simüle etmek için açık bir nedeniniz yoksa örnek veri kullanın.
Önizlemeler ekran görüntüleri veya iletilen mesajlarla kolayca sızabilir. Basit bir kural belirleyin: "bilirkişi dışı takım-üye sınırı, açıkça paylaşılmadıkça" ve temel kontrollerle uygulayın (giriş zorunlu, allowlist veya paylaşım parolası).
Ayrıca önizlemelerin ne kadar süre yaşayacağını belirleyin (örneğin merge sonrası sil) ki eski URL'ler gözden geçirenleri yanıltmasın.
Kısa ve uygulanabilir tutun ki gerçekten yapasınız:
Ne test ettiğinizi bir cümleyle yazın ki gözden geçirenler neyin kapsandığını bilsin.
Ortam değişkenleri çoğu "önizlemede çalışıyor, üretimde bozuluyor" vakasının başlıca nedenidir.
Yükseltmeden önce:
Önizlemede asla üretim sırlarını yeniden kullanmayın.
Geriye dönüp uyumsuzluk yaşanmaması için şu geri uyumlu deseni kullanın:
Bu, veritabanı yapısı yüzünden bir rollback'in başarısız olma riskini azaltır.
Kullanıcılar engelliyse veya neden açık değilse varsayılan aksiyon: hızlıca geri al ve bilinen iyi sürüme dönün.
Sıcak düzeltme (hotfix) yalnızca:
Geri aldıktan sonra hızlı bir üretim duman testi (giriş + ana işlem) çalıştırın ve kurtarmayı doğrulayın.