Rehber5 dk okuma
İlk deploy: Git deposundan canlı adrese
Bir Node, Python, Go, Java, Ruby ya da Bun uygulamasını Dockerfile yazmadan nasıl yayına alırsın.
Bu yazıda bir web servisini sıfırdan yayına alıyoruz. Örnek bir Node uygulaması kullanıyoruz, ama adımlar diğer dillerde de aynı.
1. Git hesabını bağla
Panelde yeni bir web servisi oluştururken GitHub ya da GitLab hesabını bağla. GitHub App ile bağlarsan yalnızca seçtiğin depolara erişim verirsin. Depoyu ve branch’i seç.
2. Runtime’ı seç
Native runtime’da dil depodan algılanır: Node, Bun, Python, Go, Java (Maven/Gradle) ve Ruby desteklenir. Build ve start komutlarını yazman yeterli; Dockerfile’ı platform üretir. Kendi Dockerfile’ın varsa Docker runtime’ını seç, o kullanılır.
Build komutu: npm ci && npm run build
Start komutu: npm start3. Doğru porta dinle
Uygulaman PORT ortam değişkenindeki portu dinlemeli. Varsayılan 10000’dir. Kendin bir PORT tanımlarsan o kullanılır.
const port = process.env.PORT ?? 10000
app.listen(port, '0.0.0.0')4. Health check ekle
Health check yolu (ör. /healthz) tanımlarsan yeni sürüm bu yoldan 2xx ya da 3xx dönmeden trafik ona geçmez. Tanımlamazsan herhangi bir HTTP yanıtı yeterli sayılır. Veritabanı bağlantısını da kontrol eden bir yol, hatalı bir sürümün yayına girmesini engellemenin en kolay yoludur.
5. Ortam değişkenleri ve veritabanı
Ortam değişkenlerini servis ayarlarından gir; değerler şifreli saklanır ve imaja gömülmez. Bir Postgres oluşturup servise bağladığında DATABASE_URL otomatik yazılır. Birden fazla servisin paylaştığı değerler için Environment Group kullanabilirsin.
Sonrası
- Auto-deploy açıkken her push yeni bir deploy başlatır. Build logunu canlı izleyebilirsin.
- Servis <slug>.onscalable.app adresinde yayına çıkar. Kendi alan adını Alan adları sekmesinden ekleyebilirsin; sertifika otomatik alınır.
- CI’dan deploy tetiklemek istersen servis ayarlarındaki deploy hook adresini kullan.
