Bilgi Bankası
Zinnector® ile Dağıtım: bağlayın, kontrol edin, gönderin
Yerel bir projeden canlı siteye: bir API anahtarı ile oturum açın, projeyi bir barındırma alanına bağlayın, PHP, disk ve WordPress yapılandırmanızı alanla karşılaştıran uçuş öncesi kontrolü okuyun ve gönderin; ayrıca bir şeyler ters gittiğinde yeniden dağıtımlar, dağıtım geçmişi ve derleme günlükleri elinizin altında olsun.
Bir proje yerelde çalışır duruma geldiğinde, onu Zinn Digital® barındırma hizmetinde canlı bir siteye taşımak için dört komut kullanılır: oturum açmak, projeyi bir barındırma alanına bağlamak, uçuş öncesi kontrolü okumak ve göndermek (push). Bu makale her birini, ne çıktısı verdiklerini ve sonrasında başvurduğunuz komutları (yeniden dağıtımlar, dağıtım geçmişi ve derleme günlükleri) ele almaktadır.
Bir API anahtarıyla oturum açın
Panelde Settings → API keys altında bir anahtar oluşturun, ardından:
zinnector login
Anahtar bir komut isteminde yazılır; komut satırında asla kabul edilmez, böylece kabuk geçmişinize veya bir süreç listesine asla sızamaz. CI ortamında şu şekilde borulayın (pipe): echo "$ZINN_API_KEY" | zinnector login --profile ci, veya ZINNECTOR_TOKEN değişkenini ayarlayıp login komutunu tamamen atlayın. Anahtar saklanmadan önce doğrulanır ve 600 dosya moduyla saklanır. zinnector whoami --scopes komutu, hangi kuruluşta oturum açtığınızı ve anahtarın hangi yetkilere sahip olduğunu gösterir; bir korumalı alan (sandbox) anahtarı buna göre etiketlenir.
Projeyi bir alana bağlayın
zinnector link # bir listeden site seçin
zinnector link example.com --repo acme/site --branch main
link, sitenin kimliğini (id) zinnector.json dosyasına yazar ve --no-repo parametresini geçmediğiniz sürece, projenin git uzak (remote) bağlantısını platformdaki siteye bağlar, böylece bir push işlemi siteyi dağıtır. zinnector.json dosyasını işleyin (commit): Depoyu klonlayan bir meslektaşınız, ayrıca bilgilendirilmeden doğrudan aynı yere dağıtım yapar. Dosya hiçbir gizli bilgi barındırmaz.
Uçuş öncesi kontrolü okuyun
zinnector check
Bu, CLI'ın var olma nedeni olan komuttur. Projenizi dağıtılacağı alanla karşılaştırır ve her uyumsuzluğu — ve yapamadığı her karşılaştırmayı — listeler:
- PHP sürümü: Ana sürüm farkları siteleri güvenilir bir şekilde bozduğu için yüksek olarak derecelendirilir; alt sürüm farkları ise daha düşük derecelendirilir, çünkü her şeyi kritik olarak derecelendirmek insanlara uyarılardan kaçınmayı öğretir.
- Alanın üzerinde derleme yaptığınız sürüme geçiş yapıp yapamayacağı, alanın PHP sürümünün ömrünün sona erip ermediği ve makinenin sürümü uygulayıp uygulamadığı veya sadece bilgilendirilip bilgilendirilmediği.
- Projenizin boyut ve dosya sayısı değerlerinin, alanda gerçekten kalan disk ve inode kapasitesiyle karşılaştırması — bir WordPress ağacı, disk sınırının oldukça altında olmasına rağmen dosya tüketimini tüketebilir.
- Her iki taraftaki WordPress sürümleri, alanın sağlama (provisioning) işlemini tamamlayıp tamamlamadığı ve gönderim (push) için bir deponun bağlı olup olmadığı.
Bu bir uyarıdır; asla engellemez. Her bulgu zinnector push --force komutuyla geçersiz kılınabilir, çünkü kendi siteniz hakkında bir kontrol aracının bilmediği şeyleri bilirsiniz. Yapılamayan bir karşılaştırma asla başarılı olarak değil, bilinmeyen olarak bildirilir ve özet her zaman kaç tane olduğunu belirtir. Varsayılan olarak yerel PHP sürümü zinnector.json içinde beyan edilen sürümür; --probe ise yerel çalışma zamanını başlatır ve bunun yerine ölçüm yapar. --strict seçeneği bilinmeyen durumlarda da sıfırdan farklı bir çıkış kodu üretir, ki bir CI denetim kapısının istediği de budur.
Gönder (Push)
zinnector push
push komutu uçuş öncesi kontrolünü çalıştırır, commit'lerinizi gönderir, dağıtımı tetikler ve tamamlanana kadar izleyerek nihai durumu ve dağıtılan commit'i yazdırır. --dry-run dağıtım dışındaki her şeyi yapar; --no-wait tetikler ve çıkar; --no-git ise gönderme yapmadan platformda halihazırda ne varsa onu dağıtır. Dağıtılan commit henüz gönderilen commit değilse, bunu bildirir.
Bir şeyler yanlış gittiğinde
zinnector deploys example.com # dağıtım geçmişi — durum, commit, tetikleyici, mesaj
zinnector logs example.com --build # en son dağıtımın derleme günlüğü
zinnector logs example.com --error # sitenin hata günlüğü
zinnector deploy example.com # platformda halihazırda var olanı yeniden dağıt
zinnector ai "why is my deploy failing?"
zinnector ai platformda kendi hesabınız altında çalışır, böylece aynı dağıtım geçmişini ve günlükleri görebilir. Bir projenin içindeyken projenin yapısını (dizin adları, sürümler ve site kimliği) gönderir, dosya içeriklerini asla göndermez.
İlgili
Hâlâ çözemediniz mi?
Her plana destek dahildir ve yanıtlar kendi dilinizdedir.
Destek ile iletişime geçin → Tüm makaleler →