Web Siteleri
Preview Dağıtımları Pull Request'ler İçin
Preview deploys give every pull request its own live URL, built from that branch's code, so reviewers can click through the actual change instead of reading a diff and guessing. Each preview updates…
Preview dağıtımları her pull isteğine kendi canlı URL'sini vererek, bu şubenin kodundan oluşturulur, böylece gözden geçirenler bir diff okumak ve tahmin etmek yerine gerçek değişikliğe tıklayabilir. Her preview yeni bir commit push ettiğinizde güncellenir ve pull isteği kapandığında otomatik olarak temizlenir.
Preview Dağıtımlarının Bulunduğu Yer
Websites açın, siteyi tıklayın, site tab şeridinde Environments menüsünü açın ve Preview'ı seçin. Sayfa Preview deploys başlıklıdır.
Previews, staging'den ayrıdır. Staging, kasıtlı olarak push ettiğiniz sitinin uzun süreli bir kopyasıdır; preview, pull isteği başına oluşturulan ve daha sonra atılan kısa süreli bir ortamdır. Birçok takım her ikisini de kullanır. Diğer yarısı için Staging Environments bölümüne bakın.

İlk Olarak Git Deploy'u Ayarlayın
Previews, bağımsız bir özellik değildir. Production sitesinin deploy anahtarını ve build komutunu yeniden kullanırlar, bu nedenle previews etkinleştirilmeden önce sitede çalışan bir Git Deploy yapılandırması gerekir.
Git Deploy yapılandırılmamışsa, sayfa Set up Git deploy first şeklinde görüntülenir ve enable formu yerine bir Go to Git deploy düğmesi sunar. Deploying a Site From Git bölümünü tamamlayın, ardından geri dönün.
Git Deploy bağlı olduğu halde build komutu yoksa, Preview sayfası bir uyarı gösterir. Previews, depoyu zaten oluşturulmuş halde kabul eder, kök dizinde statik dosyalar olur. Bu, düz bir HTML sitesi için doğrudur ve derlenmiş bir şey için yanlıştır, bu nedenle projeniz bir tane gerektiriyorsa Git Deploy sayfasında bir build komutu ayarlayın.
Previews'ı Etkinleştirme
- Enable preview deploys kartında, depoyu
owner/repobiçiminde yazın. URL değil, SSH adresi değil: sadece iki segmenti, örneğinacme/marketing-site. - Enable'a tıklayın.
owner/name eşleşmeyen herhangi bir şey Repo must be in owner/name format ile reddedilir.
Etkinleştirildikten hemen sonra, KPanel webhook imzalama sırrını Copy your webhook secret now başlıklı bir kartta gösterir ve bunu bir daha görmeyeceğiniz konusunda bir uyarı verir.
Sayfadan ayrılmadan önce sırrı kopyalayın. Bir kez oluşturulur ve daha sonra alınamaz. Kaybederseniz, çözüm onu yeniden oluşturmaktır, bu da eskisini geçersiz kılar ve depo webhook'unuzu güncellemeniz gerektiğini gösterir.
Depo'ya Webhook Ekleme
Yapılandırılmış kart, depo ayarlarına, Webhooks altına yapıştırılacak bir Webhook URL gösterir. Bunu şu şekilde yapılandırın:
- Payload URL: sayfada gösterilen webhook URL'si.
- Secret: az önce kopyaladığınız değer.
- Content type: JSON.
- Events: pull request etkinlikleri, artı pushes, böylece açık bir pull isteği üzerinde yeni commitler preview'ı yeniden oluşturur.
Bu yapılandırıldıktan sonra, pull isteği açmak birkaç dakika içinde preview oluşturur. Arka plan işi her dakika yeni preview işini kontrol eder, bu nedenle KPanel'de hiçbir şeye basmaya gerek yoktur.
Preview URL'leri
Her preview, pr-<pull-request-number>-<site-id>.kapsulecloud.app biçiminde kendi ana bilgisayar adını alır, wildcard sertifikası tarafından kapsanır, böylece kendi sertifika adımı olmadan HTTPS üzerinden sunulur.
Birini açmanın güvenilir yolu, Recent previews bölümünde preview satırındaki Open düğmesidir; bu da bu derleme için sağlanan tam URL'yi taşır. Bu bağlantıyı pull isteğine yapıştırın, böylece gözden geçirenler KPanel'i hiç bulmak zorunda kalmaz.
Son Previews Listesini Okuma
Recent previews bölümü en son previews'ı listeler, yeni olanlar başında. Her satır pull isteği numarasını ve başlığını, şubeyi, commiti ve durumu gösterir:
| Durum | Anlam |
|---|---|
| BUILDING | Şimdi klonlanıyor ve oluşturuluyor |
| LIVE | Preview URL'sinde sunuluyor |
| FAILED | Derleme hata verdi; neden olduğunu görmek için logu genişletin |
| DESTROYED | Temizlendi, genellikle pull isteği kapandığı için |
Çıkışını satır içinde genişletmek için bir satırda Toggle build log seçeneğine tıklayın. Bu log, preview başarısız olduğunda ilk bakılacak yerdir ve buildiniz yerel olarak üretecek aynı çıktıdır.
Liste boşsa, sayfa bunu belirtir: depo üzerinde pull isteği açın ve preview dakikalar içinde oluşturulacaktır.
Webhook Sırrını Döndürme
Yapılandırılmış kartta Regenerate secret seçeneğine tıklayın. KPanel'den onay istenir ve mevcut sırrın hemen çalışmayı durdurduğu ve depo webhook ayarlarında güncellemeniz gerekeceği açıkça belirtilir.
Yeni sır, önceki gibi aynı tek seferlik kartta gösterilir. Kopyalayın, ardından depo'daki webhook'u güncelleyin. Bu iki adım arasında, gelen webhook teslimatları reddedilir, bu nedenle iki adımı arka arkaya yapın.
Sırrı, depo admin erişimi olan biri ayrıldığında veya sırrın paylaşılan sohbet kanalı veya bilet gibi bulunmadığı yerlere yapıştırıldığında yeniden oluşturun.
Previews'ı Kapatma
Disable'a tıklayın. Yapılandırma kapatılır ve saklanan sırrı temizlenir. Mevcut previews yeniden inşa edilmeyi bırakır.
Depo'daki webhook'u da silerek temizleyin. Zararlı bir şey yapmak yerine başarısız olmaya başlar, ancak sonsuza kadar hata döndüren bir webhook, depo'nun teslimat günlüğünde gürültüdür.
Maliyetler ve Bakım
Previews gerçek kodu oluşturur ve sunar, bu nedenle sitenin diğer herhangi bir dağıtımı kadar aynı kaynakları kullanırlar. İki alışkanlık bunu kontrol altında tutar:
- Artık üzerinde çalışmadığınız pull isteklerini kapatın. Kapalı bir pull isteğin preview'ı otomatik olarak temizlenir.
- Preview'ları production kimlik bilgilerine işaret etmeyin. Secrets sekmesinin preview ortamı aracılığıyla test anahtarları verin; bu, preview ve production yapılandırması karıştırılamaz olması için tamamen vardır.
Preview URL'si özel değildir. Bu, geçerli bir sertifikaya sahip gerçek, herkese açık bir ana bilgisayar adıdır ve bağlantıya sahip olan herkes onu açabilir. Preview'ı gerçek müşteri verisi içeren herhangi bir şeyi gözden geçirmek için kullanmayın ve preview ortamlarını production veritabanı dökümünden beslemeyın.
Sorun Giderme
Pull isteği açıldığında hiçbir şey oluşturulmaz. Depo'daki webhook'un son teslimatlarını kontrol edin. 401 veya 403, sırrın eşleşmediği anlamına gelir, bu nedenle onu yeniden oluşturun ve her iki ucu güncelleyin. Hiç teslimat yok, webhook'un pull request etkinliklerine abone olmadığı anlamına gelir.
Preview oluşturulur ancak dizin listesi veya 404 gösterir. Git Deploy sayfasındaki çıkış dizini, buildinizin gerçekte yazdığı yerle eşleşmez. Previews bu ayarı production'dan miras alır.
Derleme yalnızca preview'da başarısız olur. En yaygın nedeni, production'da var olmasına rağmen preview ortamına hiç eklenmemiş olan bir bağımlılık veya ortam değişkenidir. Secrets sayfasındaki preview sekmesini kontrol edin.
Preview URL'si çalışmayı durdurur. Satırındaki duruma bakın. DESTROYED, pull isteği kapatıldığı ve ortamın geri alındığı anlamına gelir, bu istenen davranıştır.
Sırada Neler Var
- Deploying a Site From Git, ön koşul yapılandırması.
- Storing App Secrets For a Site ortam başına kimlik bilgileri için.
- Staging Environments kalıcı ön-production kopyası için.