Uygulamanızı bir klasöre, IIS'ye, Azure'a veya başka bir hedefe dağıtma

Bir uygulama, hizmet veya bileşen dağıtarak, uygulamayı diğer bilgisayarlara, cihazlara, sunuculara veya buluta yüklemek üzere dağıtırsınız. Visual Studio'da ihtiyacınız olan dağıtım türü için uygun yöntemi seçersiniz.

Dağıtım göreviniz için yardım alın:

Yeni yayımlama profili oluşturma ekran görüntüsü.

Ardından, Yayımla aracında bir dağıtım seçeneği belirleyin. Yayımlama seçenekleriniz hakkında bilgi için aşağıdaki bölümlere bakın.

Hangi yayımlama seçenekleri bana uygun?

Visual Studio'dan uygulamalar doğrudan aşağıdaki hedeflere yayımlanabilir:

Önceki seçenekler, yeni bir yayımlama profili oluşturduğunuzda aşağıdaki çizimde gösterildiği gibi görünür.

Yayımlama seçeneği belirleme seçeneğinin ekran görüntüsü.

Daha genel uygulama dağıtım seçeneklerine hızlı bir bakış için bkz. Dağıtıma ilk bakış .

Gök mavisi

Azure'ı seçtiğinizde şunları seçebilirsiniz:

  • Windows, Linux veya Docker görüntüsü olarak çalışan Azure App Service
  • Azure Container Registry'ye dağıtılan Docker imajı
  • Azure sanal makine

Azure hizmeti seçme ekran görüntüsü.

Azure Container Apps

azure container apps geliştiricilerin kapsayıcılı web uygulamaları ve hizmetleri oluşturmalarına ve yönetmelerine yardımcı olur.

Kapsayıcılı bir uygulamayı Azure App Service'e dağıtabilirsiniz ancak Azure Container Apps, kaynakları kapsayıcılı uygulamalar için daha verimli bir şekilde kullanacak şekilde iyileştirildiğinden azure container apps kullanmanın diğer avantajlarının yanı sıra maliyet tasarrufu da sağlanır.

Azure Container Apps ne zaman seçilir?

  • Uygulamalarınız ve hizmetleriniz bir kapsayıcıda veya birden çok kapsayıcıda çalışır
  • Yüksek kullanılabilirliğe ve esnek ölçeklendirmeye ihtiyacınız var
  • Uygulamanız, mikro hizmetler mimari deseni için iyi bir eşleşmedir. İşlevler genellikle Azure İşlevleriolarak uygulanan modüler tek görevli hizmetler kümesine ayrılmıştır. Örneğin, ayrık işler olarak çalışan, olaylara yanıt veren veya kuyruklardan veya tetikleyicilerden gelen istekleri işleyen tek görevli hizmet kümeleri.
  • Kapsayıcı düzenlemenin (Kubernetes) avantajlarından yararlanmak istiyorsunuz ancak Kubernetes'i doğrudan yönetmek istemiyorsunuz. (Kapsayıcılı hizmetlerinizi destekleyen Kubernetes altyapısı üzerinde derin denetim istiyorsanız Azure Kubernetes Service (AKS)kullanmayı göz önünde bulundurun.

Azure App Service

Azure App Service, geliştiricilerin altyapıyı korumadan hızla ölçeklenebilir web uygulamaları ve hizmetleri oluşturmalarına yardımcı olur. App Service, Azure'da bulutta barındırılan sanal makinelerde çalışır, ancak bu sanal makineler sizin için yönetilir. App Service'teki her uygulamaya benzersiz bir *.azurewebsites.net URL'si atanır; Ücretsiz dışındaki tüm fiyatlandırma katmanları siteye özel etki alanı adları atamaya izin verir.

bir fiyatlandırma katmanı veya plan seçerek Uygulama Hizmetinin ne kadar hesaplama gücüne sahip olduğunu belirlersiniz. Fiyatlandırma katmanını değiştirmeden birden çok Web uygulamasının (ve diğer uygulama türlerinin) aynı App Service'i paylaşmasını sağlayabilirsiniz. Örneğin, geliştirme, hazırlama ve üretim Web uygulamalarını aynı App Service'te birlikte barındırabilirsiniz.

Azure App Service ne zaman seçilir?

  • İnternet üzerinden erişilebilen bir web uygulaması dağıtmak istiyorsunuz.
  • Web uygulamanızı yeniden dağıtmanıza gerek kalmadan isteğe göre otomatik olarak ölçeklendirmek istiyorsunuz.
  • Sunucu altyapısını (yazılım güncelleştirmeleri dahil) korumak istemezsiniz.
  • Web uygulamanızı barındıran sunucularda makine düzeyinde özelleştirmeye ihtiyacınız yoktur.

Azure App Service'i kendi veri merkezinizde veya diğer şirket içi bilgisayarlarda kullanmak istiyorsanız azure stack kullanarak bunu yapabilirsiniz.

App Service'te yayımlama hakkında daha fazla bilgi için bkz:

Azure WebJobs

Azure Webjobs, App Service aracılığıyla desteklenir. Göz atın: Visual Studiokullanarak WebJobs geliştirin ve dağıtın.

Azure Webjobs ne zaman seçilir?

  • Bir çalışan işleminiz, kullanıcı etkileşimi olmadan çalışabilen bir hesaplamanız var.
  • İş isteğe bağlı, bir olay tarafından tetiklenen veya sürekli olan bir iştir.
  • İş Windows üzerinde veya Linux üzerinde .NET Core üzerinde çalışır (Visual Studio 17.12 veya üzeri ile).

Benzer senaryolar için bir diğer seçenek de Azure İşlevleri'dir. Sizin için doğru seçeneği belirlemek için bkz. Azure 'de doğru tümleştirme ve otomasyon hizmetlerini seçme.

Azure Konteyner Kayıt Defteri

Azure Container Registry, docker kapsayıcı görüntülerini ve yapıtlarını her tür kapsayıcı dağıtımı için özel bir kayıt defterinde oluşturmanıza, depolamanıza ve yönetmenize olanak tanır.

Azure Container Registry ne zaman seçilir?

  • Mevcut bir Docker kapsayıcı geliştirme ve dağıtım işlem hattınız olduğunda.
  • Azure'da Docker kapsayıcı görüntüleri oluşturmak istediğinizde.

Daha fazla bilgi için:

Azure Sanal Makinesi

Azure Sanal Makineler (VM) , bulutta istediğiniz sayıda bilgi işlem kaynağı oluşturmanıza ve yönetmenize olanak tanır. VM'lerdeki tüm yazılım ve güncelleştirmelerin sorumluluğunu üstlenerek, bunları uygulamanızın gerektirdiği kadar özelleştirebilirsiniz. Sanal makinelere doğrudan Uzak Masaüstü üzerinden erişebilirsiniz ve her biri kendisine atanan IP adresini istediğiniz kadar korur.

Sanal makinelerde barındırılan bir uygulamayı ölçeklendirmek için isteğe göre ek VM'ler oluşturup gerekli yazılımları dağıtmanız gerekir. Bu ek denetim düzeyi, farklı genel bölgelerde farklı ölçeklendirmeler yapmanıza olanak tanır. Örneğin, uygulamanız çeşitli bölgesel ofislerde çalışanlara hizmet vermekteyse VM'lerinizi bu bölgelerdeki çalışan sayısına göre ölçeklendileyerek maliyetleri düşürebilirsiniz.

Ek bilgi için Bkz. Visual Studio'daki Özel seçeneğini kullanarak dağıtım hedefi olarak kullanabileceğiniz Azure App Service, Azure Sanal Makineler ve diğer Azure hizmetleri arasındaki ayrıntılı karşılaştırma.

Azure Sanal Makineler ne zaman seçilir?

  • Atanan IP adreslerinin ömrü üzerinde tam denetime sahip, İnternet üzerinden erişilebilen bir web uygulaması dağıtmak istiyorsunuz.
  • Sunucularınızda özel veritabanı sistemi, belirli ağ yapılandırmaları, disk bölümleri vb. gibi ek yazılımlar içeren makine düzeyinde özelleştirmeler yapmanız gerekir.
  • Web uygulamanızın ölçeklendirmesi üzerinde ince bir denetim düzeyi istiyorsunuz.
  • Başka bir nedenle uygulamanızı barındıran sunuculara doğrudan erişmeniz gerekir.

Azure Sanal Makineleri'ni kendi veri merkezinizde veya diğer şirket içi bilgisayarlarda kullanmak istiyorsanız azure stack kullanarak bunu yapabilirsiniz.

Docker kapsayıcı kayıt defteri

Uygulamanız Docker kullanıyorsa kapsayıcılı uygulamanızı bir Docker kapsayıcı kayıt defterinde yayımlayabilirsiniz.

Docker Container Registry ne zaman seçilir?

  • Kapsayıcılı uygulama dağıtmak istiyorsunuz

Daha fazla bilgi için aşağıdakilere bakın:

DevTest Laboratuvarları

Azure DevTest Labs'e dağıtmak istiyorsanız Yayımlama aracındaki Klasör dağıtımı seçeneğini kullanın.

Tam adımlar için bkz. Azure DevTest Labs VM'sinde test için uygulama yayımlama. Bağlantılı makalede, klasör yayımlama adımları .NET Core/.NET 5+ için geçerlidir. Yönergelerin geri kalanı hem .NET hem de .NET Framework için geçerlidir. .NET Framework ClickOnce uygulamaları için, Yayımlama Sihirbazı kullanarak bir klasöre yayımlayabilirsiniz.

Klasör

Dosya sistemine dağıtmak, uygulamanızın dosyalarını kendi bilgisayarınızdaki belirli bir klasöre kopyalamak anlamına gelir. Bir klasöre dağıtmak çoğunlukla test amacıyla veya bilgisayar da bir sunucu çalıştırıyorsa sınırlı sayıda kişi tarafından kullanılmak üzere uygulamayı dağıtmak için kullanılır. Hedef klasör bir ağda paylaşılıyorsa, dosya sistemine dağıtmak web uygulaması dosyalarını belirli sunuculara dağıtabilecek diğer kullanıcıların kullanımına açabilir.

Visual Studio 2019 16.8'den başlayarak, klasör hedefi ClickOnce kullanarak bir .NET Windows uygulaması yayımlama özelliğini içerir.

ClickOnce ile bir .NET Windows masaüstü projesi (.NET Core 3.1, .NET 5 ve üzeri) yayımlamak istiyorsanız bkz. ClickOncekullanarak .NET Windows uygulaması dağıtma.

Sunucu çalıştıran tüm yerel makineler, nasıl yapılandırıldığına ve bağlı olduğu ağlara bağlı olarak uygulamanızı İnternet veya intranet üzerinden kullanılabilir hale getirebilir. (Bir bilgisayarı doğrudan İnternet'e bağlarsanız, özellikle dış güvenlik tehditlerinden korumaya dikkat edin.) Bu makineleri yönettiğiniz için yazılım ve donanım yapılandırmaları tamamen sizin denetiminizdedir.

Herhangi bir nedenle (makine erişimi gibi) Azure App Service veya Azure Sanal Makineler gibi bulut hizmetlerini kullanamıyorsanız, azure stack kendi veri merkezinizde kullanabilirsiniz. Azure Stack, Azure App Service ve Azure Sanal Makineler aracılığıyla bilgi işlem kaynaklarını yönetmenize ve kullanmanıza olanak tanırken her şeyi şirket içinde tutmanızı sağlar.

Dosya sistemi dağıtımı ne zaman seçilir?

  • Uygulamayı yalnızca başkalarının farklı sunuculara dağıtacağı bir dosya paylaşımına dağıtmanız gerekir.

  • ClickOnce kullanarak bir .NET Windows Uygulaması dağıtmak istiyorsunuz

  • Yalnızca yerel bir test dağıtımına ihtiyacınız vardır.

  • Uygulama dosyalarını başka bir dağıtım hedefine göndermeden önce bağımsız olarak incelemek ve değiştirmek istiyorsunuz.

Daha fazla bilgi için bkz. Hızlı Başlangıç -yerel klasöre dağıtma.

ClickOnce kullanarak bir .NET Windows Uygulaması dağıtma hakkında daha fazla bilgi için bkz. ClickOnce kullanarak .NET Windows uygulaması dağıtma.

Ayarlarınızı seçmeye yönelik ek yardım için aşağıdakilere bakın:

FTP/FTPS sunucusu

FTP/FTPS sunucusu, uygulamanızı Azure dışında bir sunucuya dağıtmanıza olanak tanır. Diğer bulut hizmetlerindekiler de dahil olmak üzere erişiminiz olan bir dosya sistemine veya başka bir sunucuya (İnternet veya İntranet) dağıtabilir. Web dağıtımı (dosyalar veya .ZIP) ve FTP ile çalışabilir.

BIR FTP/FTPS sunucusu seçerken, Visual Studio sizden profil adı ister ve ardından hedef sunucu veya konum, site adı ve kimlik bilgileri gibi ek Bağlantı bilgileri toplar. Ayarları sekmesinde aşağıdaki davranışları denetleyebilirsiniz:

  • Dağıtmak istediğiniz yapılandırma.
  • Var olan dosyaların hedeften kaldırılıp kaldırılmayacağı.
  • Yayınlama sırasında önceden derlenip derlenmeyeceğini belirleme.
  • App_Data klasöründeki dosyaların dağıtımdan dışlanıp dışlanmaymayacağı.

Visual Studio'da istediğiniz sayıda FTP/FTPS dağıtım profili oluşturarak farklı ayarlarla profilleri yönetmeyi mümkün hale getirebilirsiniz.

FTP/FTPS sunucu dağıtımı ne zaman seçilir?

  • Azure dışındaki bir sağlayıcıda URL'ler aracılığıyla erişilebilen bulut hizmetlerini kullanıyorsunuz.
  • Visual Studio'da kullandığınız kimlik bilgileri dışındaki kimlik bilgilerini veya doğrudan Azure hesaplarınıza bağlı kimlik bilgilerini kullanarak dağıtmak istiyorsunuz.
  • Her dağıtımda hedeften dosya silmek istiyorsunuz.

Web Sunucusu (IIS)

IIS web sunucusu, uygulamanızı Azure dışında bir web sunucusuna dağıtmanıza olanak tanır. Diğer bulut hizmetlerindekiler de dahil olmak üzere erişiminiz olan bir IIS sunucusuna (İnternet veya İntranet) dağıtabilir. Web Dağıtımı veya Web Dağıtımı paketiyle çalışabilir.

Bir IIS web sunucusu seçerken, Visual Studio sizden bir profil adı ister ve ardından hedef sunucu veya konum, site adı ve kimlik bilgileri gibi ek Bağlantı bilgileri toplar. Ayarları sekmesinde aşağıdaki davranışları denetleyebilirsiniz:

  • Dağıtmak istediğiniz yapılandırma.
  • Var olan dosyaların hedeften kaldırılıp kaldırılmayacağı.
  • Yayınlama sırasında önceden derlenip derlenmeyeceğini belirleme.
  • App_Data klasöründeki dosyaların dağıtımdan dışlanıp dışlanmaymayacağı.

Visual Studio'da istediğiniz sayıda IIS web sunucusu dağıtım profili oluşturarak farklı ayarlarla profilleri yönetmeyi mümkün hale getirebilirsiniz.

Web sunucusu (IIS) dağıtımı ne zaman seçilir?

  • URL'ler aracılığıyla erişilebilen bir site veya hizmet yayımlamak için IIS kullanıyorsunuz.
  • Visual Studio'da kullandığınız kimlik bilgileri dışındaki kimlik bilgilerini veya doğrudan Azure hesaplarınıza bağlı kimlik bilgilerini kullanarak dağıtmak istiyorsunuz.
  • Her dağıtımda hedeften dosya silmek istiyorsunuz.

Daha fazla bilgi için bkz. Hızlı Başlangıç -bir web sitesine dağıtma.

IIS'de ASP.NET Core sorunlarını giderme konusunda yardım için bkz. Azure App Service'te ASP.NET Core ve IIS sorunlarını giderme.

Profili İçeri Aktar

IIS veya Azure App Service'te yayımlarken bir profili içeri aktarabilirsiniz. dağıtımı, ( *.publishsettings) yayımlama ayarları dosyası kullanarak yapılandırabilirsiniz. Yayımlama ayarları dosyası IIS veya Azure App Service tarafından oluşturulur ya da el ile oluşturulabilir ve ardından Visual Studio'ya aktarılabilir.

Yayımlama ayarları dosyasının kullanılması, dağıtım yapılandırmasını basitleştirebilir ve her dağıtım profilini el ile yapılandırmak yerine ekip ortamında daha iyi çalışır.

İçeri aktarma profili ne zaman seçilir?

  • IIS'de yayımlıyor ve dağıtım yapılandırmasını basitleştirmek istiyorsunuz.
  • IIS veya Azure App Service'e yayımlıyor ve yeniden kullanmak veya aynı hizmette yayımlamak üzere ekip üyeleri için dağıtım yapılandırmasını hızlandırmak istiyorsunuz.

Daha fazla bilgi için aşağıdakilere bakın:

.NET dağıtım ayarlarını yapılandırma

Ayarlarınızı seçmeye yönelik ek yardım için aşağıdakilere bakın:

Sonraki adımlar

Eğitimler: