İçeriğe geç

Dev Machines

Derleme ve test için izole geliştirme ortamları. Proyecta Cloud tarafından desteklenen tam Linux ortamları.

Proyecta, her proje için ayrı bir geliştirme makinesi (runtime) oluşturur. Bu, uygulamanın geliştirme sürecinde çalıştığı tam bir Linux ortamına sahip izole bir container’dır.

Bir proje açtığında Proyecta:

  1. Bulutta izole bir container (pod) oluşturur
  2. Projenin kodunu bu container’a geri yükler
  3. Bağımlılıkları yükler ve ortamı hazırlar
  4. Uygulamanın development server’ını başlatır
  5. Builder’da canlı bir önizleme gösterir

Araç çubuğunun altındaki Runtime Status Bar bölümünde hazırlama sürecinin ilerleyişini görebilirsin.

Durum çubuğu, başlatma sırasında şu adımları gösterir:

Adım Açıklama
Creating pod İzole container başlatılıyor
Health check Container’ın çalıştığı doğrulanıyor
Git init Depon klonlanıyor
Environment setup Bağımlılıklar yükleniyor (npm, pip, vb.)
Starting services Uygulama ve altyapı başlatılıyor
Ready Dev machine tamamen çevrimiçi

Dev machine’imde sorun var. Nasıl düzeltebilirim?

Bölüm başlığı “Dev machine’imde sorun var. Nasıl düzeltebilirim?”

Önizleme yüklenmiyorsa veya makine takılı görünüyorsa:

  1. Hata mesajları için Runtime Status Bar’ı kontrol et
  2. Yapay zekadan servis loglarını kontrol etmesini ve sorunu gidermesini iste — makineye tam erişimi var
  3. Hiçbir şey işe yaramazsa yapay zekadan sorunu debug etmesine yardımcı olmasını iste

Dev machine’in, veritabanları ve servisler için sidecar container’lar içerebilir:

  • PostgreSQL — İlişkisel veritabanı (port 5432)
  • PostGIS — Coğrafi uzamsal eklentili PostgreSQL (port 5432)
  • Redis — Bellek içi önbellek (port 6379)
  • MongoDB — Döküman veritabanı (port 27017)
  • MySQL — İlişkisel veritabanı (port 3306)
  • MailHog — Web arayüzlü e-posta test sunucusu (SMTP port 1025, UI port 8025)

Çalışan servisleri ve durumlarını Services panelinden görüntüleyebilirsin.

Dev machine’ler şu yaşam döngüsü durumlarından geçer:

Durum Açıklama
Pending Oluşturulmayı bekliyor
Initializing Ortam hazırlanıyor
Running Aktif ve sağlıklı
Suspended Kaynakları korumak için duraklatıldı (hızlıca devam eder)
Archived Soğuk depolamada saklanıyor (geri yüklenmesi daha uzun sürer)
Restoring Arşiv deposundan geri yükleniyor
Failed Hazırlama veya işlem başarısız oldu — makine yeniden sağlanabilir
Terminated Kalıcı olarak durduruldu

Makineler, 60 dakika hareketsiz kaldıktan sonra otomatik olarak askıya alınır ve 24 saatlik askıya alınmanın ardından arşivlenir.

Dev machine çökerse yayımlanan uygulamamda ne olur?

Uygulamanın verileri, dev machine’den bağımsız olan ve erişilebilir kalmaya devam eden Proyecta’nın platform veri katmanında (CMS) saklanır. Ancak uygulamanın frontend dosyaları dev machine üzerinden sunulur — makine askıya alınır ya da arşivlenirse, makine yeniden başlayana kadar ziyaretçiler 503 hatası görür. Herkese açık kalmasını istediğin uygulamalar için bunu göz önünde bulundur; makineyi yeniden başlatmak siteyi geri getirir.

Daha hızlı bir dev machine alabilir miyim?

Tüm dev machine’ler şu an aynı kaynak tahsisiyle çalışmaktadır. Büyük bir proje için daha fazla kapasiteye ihtiyaç duyarsan destek ekibiyle iletişime geç.

Dev machine’e doğrudan erişebilir miyim?

Hayır. Builder’da terminal veya shell erişimi bulunmuyor. Yapay zekanın senin adına makineye tam erişimi var — komut çalıştırmasını, logları kontrol etmesini veya dosyaları incelemesini isteyebilirsin; sonuçları sohbette sana iletir.