nnesly

ASP.NET Core projenizi olduğu gibi yayınlayın, yanına SQL Server koyun — Dockerfile yok, port ayarı yok, bağlantı dizesi kodu yok.

nesly .NET'i kendiniz yapılandırdığınız bir kapsayıcı değil, birinci sınıf bir yığın olarak ele alır. .csproj bulunur, SDK imajı hedeflenen çerçeveyi izler (net8.0, net9.0, net10.0), uygulama ReadyToRun yayımlanır, dinleme adresi sizin için ayarlanır. SQL Server'ı tek komutla ekleyin; ConnectionStrings__Default ilk istekten önce ortamda olur.

terminal
$ nesly addon add mssql --yes
mssql eklendi. Enjekte edilen env: DATABASE_URL, ConnectionStrings__Default
$ nesly deploy --yes
[queued] dağıtım kabul edildi
[building] .NET, projenin hedeflediği çerçevenin resmi SDK imajıyla derleniyor
[deploying] sistem durumu kontrolü: uygulama yanıt verdi (HTTP 200)
[ready] yayında: https://shop-api-q4m1.nesly.net

Nasıl çalışır?

  1. 1

    Projeyi gösterin

    Kökte .sln ve src/ altında projeler sorun değil; birden fazla .csproj varsa tek Microsoft.NET.Sdk.Web projesi yayımlanır. Depoya eklenecek bir şey yok.

  2. 2

    SQL Server'ı bağlayın

    nesly addon add mssql kendi veritabanınızı ve girişinizi oluşturur. Kodunuzda builder.Configuration.GetConnectionString("Default") olduğu gibi kalır; değer enjekte edilir, depoya girmez.

  3. 3

    Dağıtın, migrasyonu koşturun, yayına alın

    release = "dotnet ef database update" yazın; paketlenen migrasyonlar her sürüm yayına girmeden önce koşar. Dağıtım yalnız uygulama yanıt verince canlı olur.

Ne alırsınız?

.csproj'un istediği SDK

Derleme imajı <TargetFramework>'ü izler; yeni bir .NET sürümü Microsoft imajı yayımladığı gün kullanılabilir, bizi beklemez.

Varsayılan ReadyToRun

Yayım ReadyToRun'dır; soğuk açılıştan sonraki ilk istek hızlıdır. Native AOT sizin seçiminizdir; EF Core projelerine zorlanmaz.

Ayarlanacak port yok

ASPNETCORE_URLS platformun yönlendirdiği adrese ayarlanır. Kestrel tek satır kod olmadan doğru yerde dinler.

Uygulamanızın zaten anladığı SQL Server

ConnectionStrings__Default ve DATABASE_URL ortam değişkeni olarak gelir; EF Core ve Dapper değiştirmeden okur. Girişiniz yalnız kendi veritabanınıza ulaşır.

PostgreSQL de aynı biçimde

Npgsql tercih ediyorsanız nesly addon add postgres onun için de ConnectionStrings__Default enjekte eder; sağlayıcı değiştirmek paket değişikliğidir, platform değişikliği değil.

Migrasyon sürümün parçası

Migrations klasörü derleme anında bir EF paketine konur; release komutu onu çalışma imajında koşturur, şema ve kod birlikte çıkar.

Fiyat

.NET dağıtımı her planda dahildir. SQL Server Pro'dadır (Türkiye'de KDV dahil ayda ₺869, dışında KDV'siz $18): SQL Server Express üzerinde kendi veritabanınız, veritabanı başına 10 GB'a kadar, gece yedekleri 14 gün saklanır.

  • SQL Server Express için lisans ya da örnek ücreti yok; plana dahildir.
  • Daha büyük veritabanları için ayrılmış SQL Server örneği henüz satışta değil; planlamadan önce bize yazın.
Planları ve hakları görün

Kullanım örnekleri

Kurumsal bir API

EF Core migrasyonlu ASP.NET Core Web API, SQL Server ve iş biriminin sürüm öncesi tıklayıp gezebileceği bir önizleme.

Blazor Server ya da Razor Pages

Sunucuda işlenen uygulamalar durumu SQL Server ya da PostgreSQL'de tutan bir kapsayıcı olarak çalışır; oturum açma kimlik kodu yazmadan eklenir.

Windows sunucudan taşınma

Projeyi olduğu gibi alın, SQL Server'ı bağlayın, verinizi kendi araçlarınızla geri yükleyin; GetConnectionString("Default") olduğu gibi kalsın.

Merak edilenler

Hangi .NET sürümleri destekleniyor?
.csproj'unuz neyi hedefliyorsa: bugün net8.0, net9.0 ve net10.0. SDK imajı sabit bir listeden değil <TargetFramework>'ten seçilir.
Dockerfile gerekir mi?
Hayır. Platform her derlemede projenizden bir Dockerfile yazar. Kökte kendi Dockerfile'ınız varsa yazıldığı gibi o kullanılır.
SQL Server ücretsiz planda var mı?
Hayır; SQL Server bir Pro eklentisidir. PostgreSQL ücretsiz planda vardır ve o da ConnectionStrings__Default enjekte eder; orada başlayıp geçebilirsiniz.
EF Core migrasyonlarını dağıtımda çalıştırabilir miyim?
Evet. release = "dotnet ef database update" ile Migrations klasörü derlemede paketlenir ve sürüm yayına girmeden uygulanır. Migrations klasörü yoksa derleme sebebini söyleyip durur.
Veritabanı ne kadar büyüyebilir?
Paylaşımlı Express örneğinde veritabanı başına 10 GB'a kadar. Ayrılmış örnek henüz satışta değil.

İlgili ürünler

.NET + SQL Server şablonuyla başlayın

nesly new dotnet-mssql EF Core'lu çalışan bir ASP.NET Core projesi kopyalar; iki komut sonra veritabanıyla yayında.