Loading...

Deploy · 7 dk okuma

cdnctl init → deploy: proje klasöründen canlı URL'e

Bu, hikâyenin uygulamalı eşi: CLI kurulumundan uygulamanızın canlı bir HTTPS adresinde yanıt vermesine kadar gerçekten yazacağınız her komut, gerçek çıktısıyla. Git, container registry ya da Docker deneyimi gerekmiyor — tek ön koşul, lokalde çalışan bir proje klasörü ve container platformlu bir paket.

7 dk okuma Yeni başlayan dostu Güncellendi

cdnctl init → deploy: proje klasöründen canlı URL'e

Gerekenler (60 saniye)

Tek şey gerekiyor: container platformu içeren bir cdn.com.tr paketi — standart paketlerin hepsinde var. CLI\'ı aşağıdaki tek satırla kurun ve giriş yapın. Linux, macOS ve Windows\'ta aynı şekilde çalışır; paket yöneticisi tercih ederseniz APT/YUM depoları, Homebrew ve bir Docker imajı da mevcut.

kurulum + giriş
$ curl -fsSL https://cdn.com.tr/downloads/cdnctl/install.sh | sh
$ cdnctl login --email siz@sirketiniz.com

Adım 1 — cdnctl init: klasör kendini tanıtsın

init\'i proje dizininde çalıştırın. Yığını ve portu tespit eder, küçük bir cdnctl.yaml manifest\'i yazar ve AGENTS.md\'ye bir deploy bölümü bırakır — AI kod asistanınız da akışı böyle öğrenir. Hesabınızı da kontrol eder: container platformu eksikse tam satın alma bağlantısını basar; --wait ile ödemeniz tarayıcıda tamamlanana dek bekler, sonra kendiliğinden devam eder.

cdnctl init
$ cdnctl init
Proje    : gorev-takip (node/express, port 3000)
Agent    : claude-code (claude on PATH), cursor
Paket    : ✓ Large (max 5 app)
Karne    : 2 HATA, 2 uyarı — ayrıntı: cdnctl check
Yazıldı  : cdnctl.yaml, AGENTS.md

→ Önce `cdnctl check` hatalarını düzeltin (deploy sonrası site açılmaz).

Adım 2 — cdnctl check: ucuzken düzeltin

check, deploy edilebilirlik için lokal bir linter\'dır. Hatalar (canlı siteyi kırarlar) deploy\'u durdurur; uyarılar durdurmaz. Düzeltmeler çoğunlukla tek satırdır: 127.0.0.1 yerine 0.0.0.0\'a bağlanın, gömülü token\'ı --secret\'a taşıyın, 200 dönen bir GET /health ekleyin, portu PORT ortam değişkeninden okuyun.

cdnctl check
$ cdnctl check
[ERROR] bind-localhost (server.js:61)
        Uygulama 127.0.0.1'e bağlanıyor — container içinde dışarıdan erişilemez.
        → 0.0.0.0'a bağlanın (host parametresini kaldırmak yeterli).
[ERROR] secret-in-code (server.js:10)
        Kodda gömülü bir sır (API key/token/parola) görünüyor.
        → --secret KEY=VALUE ile taşıyın; kodda process.env ile okuyun.
[WARNING] sqlite-single-pod
        SQLite, yeniden başlatmada / çoklu replikada veri kaybettirir.
        → Kalıcı disk bağlayın ya da yönetilen veritabanına geçin.
[WARNING] no-healthcheck
        /health yolu yok — platform uygulamanın canlı olduğunu anlayamaz.

Adım 3 — cdnctl deploy: klasör girer, URL çıkar

deploy klasörü arşivler (node_modules ve .git asla gitmez), yükler, platformun sandbox\'ında build eder ve yayınlar. İlerleme satırları tam yazdığı şeyi yapar; CANLI\'yı gördüğünüzde URL zaten HTTPS üzerinden hizmet veriyordur. Güncelleme aynı komuttur — yeni build ayağa kalkmadan eskisi devreden çıkmaz.

cdnctl deploy
$ cdnctl deploy
→ kaynak arşivleniyor (gorev-takip)
→ yükleniyor (0.1 MB)
→ build başlatılıyor (Kaniko, izole sandbox)
   build: running
   build: success        (41 sn)
→ uygulama oluşturuluyor
→ subdomain atanıyor
→ ilk deploy başlatılıyor
→ uygulamanın ayağa kalkması bekleniyor

✓ CANLI: https://ca…….cdn.com.tr

Paketiniz yok mu? Tarayıcı el sıkışması

cdnctl init → deploy: proje klasöründen canlı URL'e — Paketiniz yok mu? Tarayıcı el sıkışması
cdnctl'den gelinen satın alma sayfası: bant el sıkışmayı doğruluyor, önerilen paket işaretli.

init hesabınızda container platformu bulamazsa sizi satın alma sayfasına bağlamla gönderir — sayfa cdnctl\'in yönlendirdiğini doğrulayan bir bant gösterir ve önerilen paketi işaretler. Ödemeyi her zamanki gibi tarayıcıda yapın; onay sayfası terminale dönmenizi söyler ve cdnctl (--wait ile, ya da init\'i yeniden çalıştırınca) akışı kendiliğinden sürdürür. Anahtar kopyalamak yok, yapılandırma yok.

Sınırlar ve dürüst ayrıntılar

Kaynak yüklemeleri 128 MB ile sınırlı — node_modules evde kalınca fazlasıyla yeterli. Tipik build bir dakika sürer. Uygulamanız dosya saklıyorsa deploy sırasında kalıcı disk isteyin ya da object storage kullanın; SQLite kullanıyorsa yönetilen veritabanını düşünün — check size nedenini hatırlatmaya devam edecek. Build düşerse cdnctl build logunu doğrudan basar; ilk seferde en sık sebep, makinenizdeki node_modules\'ı imaja kopyalayan bir Dockerfile\'dır (.dockerignore\'a ekleyin).

Sık sorulan sorular

Kendi alan adımı bağlayabilir miyim?

Evet — uygulama anında çalışan bir subdomain alır; kendi alan adınızı sonra panelden ya da CLI'dan bağlarsınız.

Loglarım nerede?

Durum için cdnctl container apps show ve paneldeki Sağlık sekmesi; build logları hata durumunda cdnctl deploy tarafından basılır, çalışma zamanı logları paneldedir.

Birden çok uygulama çalıştırabilir miyim?

Evet; kotayı paketiniz belirler. Her proje klasörü kendi URL'iyle ayrı bir uygulama olarak deploy edilir.

Kodu AI agent'ım yazıyor — deploy da edebilir mi?

Evet. init, AGENTS.md üzerinden komutları ona zaten öğretir; bir de deploy-only token verin (cdnctl deploy-token create) — hesap şifrenizi hiç tutmadan yayınlayabilsin.