Skip to main content
Yerel uygulama geliştirme senkronizasyon etrafında döner: CLI manifestinizi yeniden oluşturur ve sunucu, onu çalışma alanınızda hâlihazırda bulunan üst verilerle karşılaştırarak yalnızca aradaki farkı uygular. Bu sayfa, hangi komuta başvurmanız gerektiğini, bir senkronizasyonun neleri değiştirdiğini nasıl okuyacağınızı ve yerel durum tutarsız göründüğünde — sırayla — ne yapmanız gerektiğini açıklar.

Hangi komut, ne zaman

Günlük yerel yinelemelerde neredeyse her zaman yarn twenty dev kullanmak istersiniz. Dağıtım ve yayımlama, sürümleri göndermek içindir, yerel döngü için değil.
yarn twenty dev --once ve yarn twenty dev --once --dry-run, yarn twenty apply ve yarn twenty plan için kullanımdan kaldırılmış takma adlar olsalar da hâlâ çalışırlar.

Yerel senkronizasyon için sürüm artırmaya gerek yoktur

Sıkı artan version kuralı (dağıtımda VERSION_ALREADY_EXISTS, yüklemede APP_ALREADY_INSTALLED / CANNOT_DOWNGRADE_APPLICATION) app:publish / app:install için — yani yayın yolu için — geçerlidir. yarn twenty dev, manifestinizi yerinde senkronize eder ve hiçbir zaman bir sürüm değişikliği gerektirmez, bu yüzden yineleme yapmak için package.json dosyasına dokunmanız gerekmez. Yerel bir değişikliği test etmek için kendinizi sürümü artırırken buluyorsanız, ihtiyacınız olan geliştirme döngüsü yerine yayın yolunu kullanıyorsunuz demektir.

Senkronizasyon çıktısını okuma

Her senkronizasyon, uyguladığı (veya plan ile uygulayacağı) üst veri değişikliklerini, Terraform tarzında — varlık başına bir blok olacak şekilde, öznitelikleriyle birlikte ve ardından bir özet satırıyla yazdırır:
Bu, ilk tanı aracınızdır: tam olarak hangi nesnelerin, alanların ve düzenlerin değiştiğini size bildirir; böylece bir senkronizasyonun beklediğiniz gibi davranıp davranmadığını, arayüzü kontrol etmeden önce doğrulayabilirsiniz. Yıkıcı değişiklikler (to destroy), neyi kaldırdıklarıyla birlikte listelenir (ör. objectMetadata "auditNote" — drops the table and all its rows) ve etkileşimli onay gerektirir ya da betiklerde --force kullanılmasını gerektirir. Bir senkronizasyon tek bir varlıkta başarısız olduğunda, hata mesajı sorunlu varlığı ve onun universalIdentifier değerini adlandırır, örneğin:
Bu tanımlayıcıyı, çakışanın hangisi olduğunu tahmin etmek yerine, manifestinizdeki (ve gerekirse çalışma alanındaki) varlığı bulmak için kullanın.

Değişiklikleri önizleme (plan)

yarn twenty plan, manifestinizi derler, sunucudan geçiş planını ister ve onu — hiçbir şeyi uygulamadan — yazdırır. Bu, ona taahhüt etmeden önce “Bu senkronizasyon neyi değiştirir?” sorusunu yanıtlamanın güvenli yoludur.
Bir plan:
  • Hiçbir şey yazmaz — üst veri geçişi, uygulama kaydı güncellemesi, varsayılan rol/sekme değişiklikleri ve API istemcisi oluşturma işlemleri yapılmaz.
  • Gerçek bir senkronizasyonun uygulayacağı aynı farkı döndürür; böylece oluşturulan/güncellenen/silinen varlıkları en baştan inceleyebilirsiniz.
  • Riskli bir değişiklikten önce, bir yapay zekâ tarafından oluşturulan değişikliği gözden geçirirken veya beklenmedik bir değişiklik gerçekleşmek üzereyse betiğin başarısız olması gereken durumlarda kullanışlıdır.
Bir plan yalnızca üst veri değişikliklerini önizler ve uygulamanın en az bir kez senkronize edilmiş olmasını gerektirir (böylece çalışma alanı ondan haberdar olur). Hiç senkronize edilmemiş bir uygulamaya karşı çalıştırırsanız, sunucu uygulamanın yüklü olmadığını bildirir — önce bir kez yarn twenty dev çalıştırın.

Kurtarma merdiveni

Yerel üst veriler hatalı görünüyorsa, bu adımları sırayla uygulayın ve engeliniz kalkar kalkmaz durun. Her adım bir öncekinden daha yıkıcıdır.
  1. Yeniden senkronize edin. yarn twenty apply komutunu tekrar çalıştırın. Senkronizasyonlar idempotenttir — temiz bir manifesti yeniden çalıştırmak güvenlidir ve çoğu zaman geçici bir aksaklığı giderir.
  2. Planı önizleyin. Bir sonraki senkronizasyonun tam olarak neyi değiştirmeyi amaçladığını, uygulamadan görmek için yarn twenty plan komutunu çalıştırın.
  3. Adlandırılmış hatayı okuyun. Bir senkronizasyon başarısız olursa, iletideki üst veri türünü ve universalIdentifier değerini not alın (yukarıya bakın) ve manifestinizdeki o varlığı bulun. Bir çakışma genellikle yinelenen veya tekrar kullanılan bir tanımlayıcıya işaret eder.
  4. Kaldırın ve yeniden yükleyin. yarn twenty app:uninstall komutunu çalıştırın, ardından yeniden senkronize edin (yarn twenty dev). Bu, uygulamanın üst verilerini temiz bir başlangıçtan yeniden oluşturur ve çalışma alanınızın geri kalanını olduğu gibi bırakır.
  5. Tam sıfırlama (son çare). yarn twenty docker:reset komutunu çalıştırın, ardından yeniden tohumlayın ve yeniden senkronize edin.
yarn twenty docker:reset, yerel örneğinizdeki verilerin tamamını siler — tüm çalışma alanlarını, kayıtları ve uygulamaları. Yalnızca önceki adımlar başarısız olduktan sonra kullanın.
Bir üst veri hatasıyla mı karşılaştınız? Lütfen issue açın ve başarısız olan geçiş iletisini (üst veri türü ve universalIdentifier ile birlikte), senkronizasyondan gelen Metadata changes çıktısını ve çalıştırdığınız komutları ekleyin.

Tek bir çalışma alanında eşzamanlı senkronizasyonlardan kaçının

Senkronizasyon, üst veri geçişlerini uygular. Aynı çalışma alanına karşı aynı anda birden çok senkronizasyon, dağıtım veya yükleme işlemi çalıştırmak — örneğin, birden çok terminal veya paralel yineleme yapan yapay zekâ ajanları — bu geçişlerin iç içe geçmesine ve üst verilerin kısmen uygulanmış bir durumda kalmasına neden olabilir. Sunucu, bunu önlemek için çalışma alanı başına senkronizasyonları sıralı hâle getirir, ancak yine de hassas üst veri işlemlerini aynı anda tetiklemek yerine tek bir süreç üzerinden geçirmeniz gerekir. Geliştirmeyi birden fazla ajanla orkestre ediyorsanız, onların senkronizasyon/dağıtım/yükleme çağrılarını tek bir kuyruğa yönlendirin ki aynı anda yalnızca biri çalışsın.

Hataları birbirinden ayırma

Bir şeyler ters gittiğinde, üst veri farkı ve adlandırılmış hatalar, hatanın nerede oluştuğunu belirlemenizi sağlar:
  • Manifest derleme hatası — CLI, senkronizasyondan önce başarısız olur (MANIFEST_BUILD_FAILED, TYPECHECK_FAILED); uygulama kaynağınızı düzeltin.
  • Senkronizasyon / geçiş hatası — derleme başarılı olur ancak farkı uygulama işlemi, varlığı ve universalIdentifier değerini adlandırarak başarısız olur; çakışan üst veriyi düzeltin.
  • Uygulama kodu çalışma zamanı hatası — senkronizasyon başarılı olur ancak mantık fonksiyonlarınız veya bileşenleriniz çalışma zamanında beklenmedik şekilde davranır; function logs bölümünü kontrol edin.
  • Yerel örnek durumu — yukarıdakilerin hiçbiri geçerli değil ve çalışma alanı hâlâ hatalı görünüyorsa; kurtarma merdiveninde aşağı doğru ilerleyin.