App Service için uygulama dağıtma

Azure App Service Azure 'un web barındırma platformudur. Bir Web uygulamasını Azure App Service dağıtmak, el ile veya otomatik bir işlem tarafından yapılabilir. Kılavuzun bu bölümü, komut satırını kullanarak el ile veya komut dosyası tarafından tetiklenebilecek veya Visual Studio kullanılarak el ile tetiklenen dağıtım yöntemlerini açıklar.

Bu bölümde, aşağıdaki görevleri yerine getirirsiniz:

  • Örnek uygulamayı indirin ve derleyin.
  • Azure Cloud Shell kullanarak Azure App Service bir Web uygulaması oluşturun.
  • Git kullanarak örnek uygulamayı Azure 'a dağıtın.
  • Visual Studio kullanarak uygulamada bir değişiklik dağıtın.
  • Web uygulamasına bir hazırlama yuvası ekleyin.
  • Hazırlama yuvasına bir güncelleştirme dağıtın.
  • Hazırlama ve üretim yuvalarını değiştirin.

Uygulamayı indirme ve test etme

bu kılavuzda kullanılan uygulama, önceden oluşturulmuş bir ASP.NET Core uygulaması, basit bir akış okuyucusu. bu Razor , bir Microsoft.SyndicationFeed.ReaderWriter RSS/Atom akışı almak ve haber öğelerini bir listede göstermek için apı kullanan bir ASP.NET Core Pages uygulamasıdır.

Kodu gözden geçirmeniz ücretsizdir, ancak bu uygulamayla ilgili özel bir şey olmadığını anlamak önemlidir. bu, tanım amaçları için yalnızca basit bir ASP.NET Core uygulamasıdır.

Bir komut kabuğundan kodu indirin, projeyi derleyin ve aşağıdaki gibi çalıştırın.

Not

Linux/macOS kullanıcıları, ters eğik çizgi () yerine eğik çizgi () kullanarak yollar için uygun değişiklikleri yapmalıdır / \ . *

  1. Kodu yerel makinenizde bir klasöre kopyalayın.

    git clone https://github.com/dotnet-architecture/simple-feed-reader/
    
  2. Çalışma klasörünüzü, oluşturulan basit akış okuyucusu klasörü ile değiştirin.

    cd .\simple-feed-reader\SimpleFeedReader
    
  3. Paketleri geri yükleyin ve çözümü oluşturun.

    dotnet build
    
  4. Uygulamayı çalıştırın.

    dotnet run
    

    DotNet Run komutu başarılı

  5. Bir tarayıcıyı açın ve http://localhost:5000 dizinine gidin. Uygulama, bir dağıtım akışı URL 'SI yazabilir veya yapıştırmanıza ve haber öğelerinin bir listesini görüntülemenize olanak sağlar.

    RSS akışı içeriğini görüntüleyen uygulama

  6. Uygulamanın doğru şekilde çalışmaya başladıktan sonra + komut kabuğu 'nda CTRL C tuşuna basarak kapatın.

Azure App Service Web uygulaması oluşturma

Uygulamayı dağıtmak için bir App Service Web uygulamasıoluşturmanız gerekir. Web uygulaması oluşturulduktan sonra Git kullanarak yerel makinenizden buna dağıtırsınız.

  1. Azure Cloud Shell'de oturum açın. Note: ilk kez oturum açtığınızda, Cloud Shell yapılandırma dosyaları için bir depolama hesabı oluşturmak isteyip istemediğinizi sorar. Varsayılanları kabul edin veya benzersiz bir ad sağlayın.

  2. Aşağıdaki adımlar için Cloud Shell kullanın.

    a. Web uygulamanızın adını depolamak için bir değişken bildirin. Ad, varsayılan URL 'de kullanılmak üzere benzersiz olmalıdır. $RANDOMAdı oluşturmak için bash işlevinin kullanılması, benzersizliği garanti eder ve biçimde sonuçlanır webappname99999 .

    webappname=mywebapp$RANDOM
    

    b. Bir kaynak grubu oluşturun. Kaynak grupları, Azure kaynaklarını bir grup olarak yönetilecek şekilde toplamanız için bir yol sağlar.

    az group create --location centralus --name AzureTutorial
    

    azKomut, Azure CLI'yı çağırır. CLı yerel olarak çalıştırılabilir, ancak Cloud Shell kullanılması zaman ve yapılandırmayı kaydeder.

    c. S1 katmanında bir App Service planı oluşturun. App Service planı, aynı fiyatlandırma katmanını paylaşan Web Apps 'in bir gruplandırmasıdır. S1 katmanı ücretsizdir, ancak hazırlama yuvaları özelliği için gereklidir.

    az appservice plan create --name $webappname --resource-group AzureTutorial --sku S1
    

    d. Aynı kaynak grubundaki App Service planını kullanarak Web uygulaması kaynağını oluşturun.

    az webapp create --name $webappname --resource-group AzureTutorial --plan $webappname
    

    e. Dağıtım dalını yapılandırmada olarak ayarlayın main appsettings .

    az webapp config appsettings set --name $webappname --resource-group AzureTutorial --settings DEPLOYMENT_BRANCH=main
    

    f. Dağıtım kimlik bilgilerini ayarlayın. Bu dağıtım kimlik bilgileri, aboneliğinizdeki tüm Web uygulamaları için geçerlidir. Kullanıcı adında özel karakterler kullanmayın.

    az webapp deployment user set --user-name REPLACE_WITH_USER_NAME --password REPLACE_WITH_PASSWORD
    

    örneğin: Web uygulamasını yerel git 'ten dağıtımları kabul edecek şekilde yapılandırın ve Git DAĞıTıM URL'sini görüntüleyin. Başvuru için bu URL 'yi daha sonra dikkate alın.

    echo Git deployment URL: $(az webapp deployment source config-local-git --name $webappname --resource-group AzureTutorial --query url --output tsv)
    

    h. Web uygulaması URL 'sini görüntüleyin. Boş Web uygulamasını görmek için bu URL 'ye gidin. Başvuru için bu URL 'yi daha sonra dikkate alın.

    echo Web app URL: http://$webappname.azurewebsites.net
    
  3. Yerel makinenizde bir komut kabuğu kullanarak, Web uygulamasının proje klasörüne gidin (örneğin, .\Simple-Feed-reader\simplefeedreader). Dağıtım URL 'sine göndermek için git 'i ayarlamak üzere aşağıdaki komutları yürütün:

    a. Uzak URL 'YI yerel depoya ekleyin.

    git remote add azure-prod GIT_DEPLOYMENT_URL
    

    b. Yerel varsayılan dalı (ana) Azure-üretim uzak 'nın dağıtım dalına (ana) gönderin.

    git push azure-prod main
    

    Daha önce oluşturduğunuz dağıtım kimlik bilgileri istenir. Komut kabuğu 'ndaki çıktıyı gözlemleyin. Azure, ASP.NET Core uygulamasını uzaktan oluşturur.

  4. Bir tarayıcıda, Web UYGULAMASı URL 'sine gidin ve uygulamanın oluşturulup dağıtıldığını aklınızda edin. İle yerel git deposuna ek değişiklikler uygulanabilir git commit . Bu değişiklikler, önceki komutla Azure 'a gönderilir git push .

Visual Studio ile dağıtım

Not

bu bölüm yalnızca Windows için geçerlidir. Linux ve macOS kullanıcıları aşağıdaki adım 2 ' de açıklanan değişikliği yapması gerekir. Dosyayı kaydedin ve yerel depoya ile değişikliği yürütün git commit . Son olarak, değişikliği git push ilk bölümde olduğu gibi ile birlikte gönderin. *

Uygulama, komut kabuğundan zaten dağıtıldı. uygulamaya bir güncelleştirme dağıtmak için Visual Studio tümleşik araçlarını kullanalım. Visual Studio arka planda, komut satırı araçları ile aynı şeyi gerçekleştirir, ancak Visual Studio tanıdık kullanıcı arabirimi içinde.

  1. Visual Studio ' de Simplefeedreader. sln ' i açın.

  2. Çözüm Gezgini, Pages\ındex.cshtml dosyasını açın. <h2>Simple Feed Reader</h2>Olarak değiştirin <h2>Simple Feed Reader - V2</h2> .

      • Uygulamayı derlemek için CTRL SHIFT B tuşlarına basın.
  3. Çözüm Gezgini, projeye sağ tıklayın ve Yayımla' ya tıklayın.

    Sağ tıklama, yayımlamayı gösteren ekran görüntüsü

  4. Visual Studio yeni bir App Service kaynağı oluşturabilir, ancak bu güncelleştirme mevcut dağıtım üzerinden yayımlanacak. Bir yayımlama hedefi seç iletişim kutusunda, sol taraftaki listeden App Service ' yi seçin ve ardından Varolanı Seç' i seçin. Yayımla’ya tıklayın.

  5. App Service iletişim kutusunda, Azure aboneliğinizi oluşturmak Için kullanılan Microsoft veya kuruluş hesabının sağ üst köşede görüntülendiğini doğrulayın. Aksi takdirde, açılan eklentiye tıklayın ve ekleyin.

  6. Doğru Azure aboneliğinin seçili olduğunu onaylayın. Görünüm Için kaynak grubu' nu seçin. AzureTutorial kaynak grubunu genişletin ve ardından mevcut Web uygulamasını seçin. Tamam'a tıklayın.

    Yayımlama iletişim kutusunu App Service ekran görüntüsü

Visual Studio derlemek ve Azure'a dağıtmak için. Web uygulaması URL'sini açın. Öğe değişikliğinin <h2> canlı olduğunu doğrulama.

Değiştirilen başlığı olan uygulama

Dağıtım yuvaları

Dağıtım yuvaları, üretimde çalışan uygulamayı etkilemeden değişikliklerin hazırlamayı destekler. Uygulamanın aşamalı sürümü kalite güvencesi ekibi tarafından doğrulandıktan sonra üretim ve hazırlama yuvaları değiştirilebilir. Hazırlamada uygulama bu şekilde üretime yükseltildi. Aşağıdaki adımlar bir hazırlama yuvası oluşturun, bazı değişiklikleri dağıtın ve doğrulamadan sonra hazırlama yuvanızı üretimle değiştirin.

  1. Oturum açmadıysanız Azure Cloud Shelloturum açma.

  2. Hazırlama yuvanızı oluşturun.

    a. hazırlama adıyla bir dağıtım yuvası oluşturun.

    az webapp deployment slot create --name $webappname --resource-group AzureTutorial --slot staging
    

    b. Yapılandırmada dağıtım main dalı'nın olarak appsettings ayarlayın.

    az webapp config appsettings set --name $webappname --resource-group AzureTutorial --slot staging --settings DEPLOYMENT_BRANCH=main
    

    c. Hazırlama yuvanızı yerel Git'te dağıtımı kullanmak ve hazırlama dağıtım URL'sini almak için yapılandırma. Bu URL'yi daha sonra başvuru için not edin.

    echo Git deployment URL for staging: $(az webapp deployment source config-local-git --name $webappname --resource-group AzureTutorial --slot staging --query url --output tsv)
    

    d. Hazırlama yuvasının URL'sini görüntüler. Boş hazırlama yuvalarını görmek için URL'ye göz atma. Bu URL'yi daha sonra başvuru için not edin.

    echo Staging web app URL: http://$webappname-staging.azurewebsites.net
    
  3. Bir metin düzenleyicisinde Visual Studio, öğenin dosyayı okuması ve kaydetmesi için Pages/Index.cshtml <h2> dosyasını yeniden <h2>Simple Feed Reader - V3</h2> değiştirebilirsiniz.

  4. Dosyayı yerel Git deposuna işleyebilirsiniz, Visual Studio'nin Takım Gezgini sayfasındaki Değişiklikler sayfasını kullanın veya yerel makinenin komut kabuğunu kullanarak aşağıdakini girin:

    git commit -a -m "upgraded to V3"
    
  5. Yerel makinenin komut kabuğunu kullanarak hazırlama dağıtım URL'sini Git uzak depo olarak ekleyin ve işlenen değişiklikleri itin:

    a. Hazırlama için uzak URL'yi yerel Git deposuna ekleyin.

    git remote add azure-staging <Git_staging_deployment_URL>
    

    b. Yerel varsayılan dalı (ana) azure hazırlama uzak dağıtım dalına ( ana )itin.

    git push azure-staging main
    

    Azure uygulamayı derleme ve dağıtma sırasında bekleyin.

  6. V3'ü hazırlama yuvasına dağıtıldığından emin olmak için iki tarayıcı penceresinden açın. Bir pencerede özgün web uygulaması URL'sini seçin. Diğer pencerede hazırlama web uygulaması URL'sini seçin. Üretim URL'si uygulamanın V2'sini sağlar. Hazırlama URL'si uygulamanın V3'lerini sağlar.

    Tarayıcı pencerelerini karşılaştıran ekran görüntüsü

  7. Bu Cloud Shell doğrulanmış/hazırlama yuvasıyla üretime değiştirin.

    az webapp deployment slot swap --name $webappname --resource-group AzureTutorial --slot staging
    
  8. İki tarayıcı penceresinde yenileme işlemiyle değiştirmenin olduğunu doğrulayın.

    Değiştirme sonrasındaki tarayıcı pencerelerini karşılaştırma

Özet

Bu bölümde aşağıdaki görevler tamamlandı:

  • Örnek uygulamayı indirin ve yerleşik olarak indirin.
  • Azure Cloud Shell kullanarak Azure App Service Web Uygulaması Azure Cloud Shell.
  • Git kullanarak örnek uygulamayı Azure'a dağıttınız.
  • Visual Studio kullanarak uygulamada bir değişiklik Visual Studio.
  • Web uygulamasına bir hazırlama yuvası eklendi.
  • Hazırlama yuvasına bir güncelleştirme dağıtıldı.
  • Hazırlama ve üretim yuvalarını değiştirdik.

Sonraki bölümde, Azure Pipelines ile bir DevOps işlem hattı Azure Pipelines.

Ek okuma