Geliştirici Makineleri
Uygulama geliştirme ve test etme için izole ortamlar. Proyecta Cloud tarafından desteklenen tam Linux ortamları.
Proyecta, her proje için özel bir geliştirici makinesi (runtime) oluşturur. Bu, uygulamanın geliştirme sürecinde çalıştığı tam bir Linux ortamına sahip izole bir container’dır.
Geliştirici makineleri nasıl çalışır?
Section titled “Geliştirici makineleri nasıl çalışır?”Bir proje açtığında Proyecta şunları yapar:
- Bulutta izole bir container (pod) oluşturur
- Kodunu GitHub’dan klonlar
- Bağımlılıkları yükler ve ortamı hazırlar
- Uygulamanın development server’ını başlatır
- Builder’da canlı bir önizleme gösterir
Sağlama sürecinin ilerleyişini araç çubuğunun altındaki Runtime Status Bar’dan takip edebilirsin.
Sağlama Adımları
Section titled “Sağlama Adımları”Durum çubuğu, başlatma sırasında şu adımları gösterir:
| Adım | Açıklama |
|---|---|
| Creating pod | İzole container ayağa kaldırı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 | Geliştirici makinesi tamamen hazır |
Geliştirici makinemde sorun var. Nasıl düzeltirim?
Section titled “Geliştirici makinemde sorun var. Nasıl düzeltirim?”Önizleme yüklenmiyorsa veya makine takılı görünüyorsa:
- Hata mesajları için Runtime Status Bar’ı kontrol et
- Logları incelemek için Terminal’i kullanmayı dene
- Hiçbiri işe yaramazsa, sorunu debug etmek için yapay zekadan yardım iste
Altyapı Servisleri
Section titled “Altyapı Servisleri”Geliştirici makinene veritabanları ve servisler için sidecar container’lar eklenebilir:
- PostgreSQL — İlişkisel veritabanı (port 5432)
- PostGIS — Jeo-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.
Yaşam Döngüsü Durumları
Section titled “Yaşam Döngüsü Durumları”Geliştirici makineleri ş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şivden geri yükleniyor |
| Failed | Sağlama veya işlem başarısız oldu — makine yeniden sağlanabilir |
| Terminated | Kalıcı olarak durduruldu |
Makineler 60 dakika hareketsizlik sonunda otomatik olarak askıya alınır, 24 saatlik askı süresinin ardından arşivlenir.
Geliştirici makinesi çökerse yayımlanan uygulamama ne olur?
Uygulamanın backend’i (Convex serverless fonksiyonları ve veritabanı), Convex’in kendi bulut altyapısında çalışır ve geliştirici makinenin durumundan bağımsız olarak erişilebilir kalır. Ancak uygulamanın frontend dosyaları geliştirici makineden sunulur; makine askıya alınır ya da arşivlenirse ziyaretçiler, makine yeniden başlayana kadar 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 geliştirici makinesi alabilir miyim?
Tüm geliştirici makineleri şu anda aynı kaynak tahsisiyle çalışmaktadır. Büyük bir proje için daha fazla kapasiteye ihtiyaç duyarsan destek ekibiyle iletişime geç.
Geliştirici makinesine doğrudan erişebilir miyim?
Evet. Geliştirme ortamına tam kabuk erişimi için yerleşik Terminal’i kullanabilirsin.