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.| Şunu yapmak istiyorsunuz… | Komut | Notlar |
|---|---|---|
| Canlı senkronizasyonla yerelde yineleyin | yarn twenty dev | Dosyalarınızı izler ve her değişiklikte senkronize eder. |
| Bir kez senkronize et ve çık (CI, betikler, kancalar) | yarn twenty dev --once | Tek bir derleme + senkronizasyon yapar ve ardından çıkar. |
| Değişiklikleri uygulamadan önizleyin | yarn twenty dev --once --dry-run | Farkı hesaplar ve yazdırır; hiçbir şey yazmaz. |
| Uygulamayı çalışma alanından kaldırın | yarn twenty app:uninstall | İstemi atlamak için --yes ekleyin. |
| Bir tarball’ı sunucuya gönderin | yarn twenty app:publish --private | package.json içinde kesin olarak daha yüksek bir sürüm gerektirir — bkz. Publishing. |
| Pazaryerine (npm) yayımlayın | yarn twenty app:publish | — |
| Dağıtılmış bir sürümü yükleyin / yükseltin | yarn twenty app:install | Şu anda dağıtılmış olan sürümü yükler. |
| Yerel sunucuyu silin ve temiz bir şekilde yeniden başlatın | yarn twenty docker:reset | Yerel verilerin tamamını siler — son çare. |
Yerel senkronizasyon için sürüm artırmaya gerek yoktur
Sıkı artanversion 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--dry-run ile uygulayacağı) üst veri değişikliklerini yazdırır:
universalIdentifier değerini adlandırır, örneğin:
Değişiklikleri önizleme (dry run)
yarn twenty dev --once --dry-run, manifestinizi derler, sunucudan geçiş planını ister ve onu yazdırır — hiçbir şeyi uygulamadan. Bu, ona taahhüt etmeden önce “Bu senkronizasyon neyi değiştirir?” sorusunu yanıtlamanın güvenli yoludur.
- 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 dry run 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.- Yeniden senkronize edin.
yarn twenty dev --oncekomutunu 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. - Planı önizleyin. Bir sonraki senkronizasyonun tam olarak neyi değiştirmeyi amaçladığını, uygulamadan görmek için
yarn twenty dev --once --dry-runçalıştırın. - Adlandırılmış hatayı okuyun. Bir senkronizasyon başarısız olursa, iletideki üst veri türünü ve
universalIdentifierdeğ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. - Kaldırın ve yeniden yükleyin.
yarn twenty app:uninstallkomutunu ç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. - Tam sıfırlama (son çare).
yarn twenty docker:resetkomutunu çalıştırın, ardından yeniden tohumlayın ve yeniden senkronize edin.
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
universalIdentifierdeğ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.