Aracıyı Azure'a dağıtma

Aracınızı geliştirdiniz ve yerel ortamda test ettiniz. Şimdi, onu bulutta hayata geçir. Bu adım isteğe bağlıdır. Aracınızı zaten bir buluta dağıttıysanız (Azure olmasına bile gerek yok), bu adımı atlayabilirsiniz.

Bu rehber, aracı kodunuzu Azure'a dağıtıp Microsoft yönetim merkezinde yayınlama sürecini adım adım gösterir; burada aracınız organizasyonunuzun kayıtlı bir varlığı olur.

Mesajlaşma uç noktasını güncellemek için aşağıdaki kaynakları inceleyin. Bu kaynaklar, aracınızı Amazon Web Services veya Google Cloud Platform gibi diğer bulut sağlayıcılarına dağıttıysanız mesajlaşma uç noktasını nasıl güncelleyebileceğinizi gösterir.

Ön koşullar

Başlamadan önce, aşağıdaki malzemelere sahip olduğunuzdan emin olun:

Gerekli hesaplar ve izinler

  • Katkıcı yetkisine sahip Azure aboneliği.
  • Geçerli ve erişilebilir bir mesajlaşma uç noktasına sahip çalışan aracı kodu. Aracınızı yerelde test ettiğinizden ve isteğe bağlı olarak Microsoft 365 ile Dev Tunnels kullanarak test ettiğinizden emin olun; böylece aracı kodunun oluşturulup beklendiği gibi çalıştığını doğrulayabilirsiniz.
  • Aracı şablonunu kurma adımını tamamlayarak geçerli bir aracı şablonu oluşturun.
  • Güncel yapılandırma dosyaları a365.config.json, a365.generated.config.json ve kodda bulunan yapılandırma dosyası (örneğin, .env dosyası).

Gerekli araçlar

Azure’a dağıtın

Aracı uygulamanızı Azure'a, Azure CLI, Azure portal veya GitHub Actions gibi standart Azure araçlarını kullanarak dağıtın.

Aracı uygulamasını dağıt

Uygulamanızı dağıtmak için Azure CLI az webapp deploy komutunu kullanın:

# Build your project first (example for .NET)
dotnet publish -c Release -o ./publish

# Deploy to Azure Web App
az webapp deploy --name <your-web-app> --resource-group <your-resource-group> --src-path ./publish

GitHub Actions için Azure Web Apps Deploy eylemini kullanın.

Uyarı

Gizli bilgiler yönetimi: Ortam değişkenlerini, API anahtarları ve gizli bilgiler dahil olmak üzere, kodda veya yapılandırma dosyalarında değil, Azure Uygulama Ayarları olarak saklayın. Üretim ortamları için, hassas gizli bilgiler için Azure Key Vault kullanın. ASP.NET Core ile geliştirme sırasında uygulama sırlarının güvenli depolanması ve Azure Key Vault yapılandırma sağlayıcısı hakkında daha fazla bilgi edinin. Hassas bilgi içeren .env dosyaları asla kaynak kontrolüne kaydetmeyin.

Dağıtımı doğrulayın

Dağıtım bittikten sonra, dağıtımı doğrulamak için bu listeyi ve aşağıdaki bölümlerdeki talimatları kullanın.

Dağıtım komutu hatasız tamamlandı
Web uygulaması çalışıyor
Uygulama günlükleri uygulamanın başarıyla başlatıldığını gösteriyor
Ortam değişkenleri yapılandırılır
Mesajlaşma uç noktası yanıt veriyor

Dağıtım komutunun hatasız tamamlandığını doğrulayın

Dağıtım tamamlandıktan sonra, dağıtım günlüklerinde başarıyı doğrulayın:

  1. Azure portalında web uygulamanıza gidin.
  2. Ayarlar>Yapılandırma bölümüne gidin ve uygulama ayarlarını doğrulayın.
  3. Dağıtım Merkezi'nde dağıtım günlüklerini kontrol edin.

Ayrıntılı dağıtım geçmişini görmek için:

  1. Azure portalına gidin > Web uygulamanız
  2. Dağıtım>Dağıtım Merkezi
  3. Son dağıtımınızın günlüklerini görüntüleyin

Derleme başarısızsa:

  • Önce yerel olarak temizleyip yeniden derleyin, derlemenin çalıştığını doğrulamak için.
  • Eksik bağımlılıkları ve sözdizimi hatalarını kontrol edin.
  • Bkz. Deploy command fails.

Uygulama dağıtımdan sonra çökerse:

Web uygulamasının çalıştığını doğrulayın

Web uygulamasının çalıştığını doğrulamak için az webapp show komutunu kullanın.

az webapp show --name <your-web-app> --resource-group <your-resource-group> --query state

Bu komutun beklenen çıktısı Running'dir.

Uygulama günlüklerinin başarılı bir başlangıç gösterdiğini doğrulayın

Azure portalında web uygulaması günlüklerini görüntülemek için:

  1. Azure portalında web uygulamasını adıyla arayın.
  2. Genel Bakış>Günlükler>Günlük Akışı bölümüne gidin.

Alternatif olarak, web uygulama kayıtlarını okumak için PowerShell az webapp log tail komutunu kullanabilirsiniz:

az webapp log tail --name <your-web-app> --resource-group <your-resource-group>

Loglarda çökme veya hata mesajları varsa, bkz. Uygulama başlangıçta çöküyor.

Ortam değişkenlerinin yapılandırıldığını doğrulayın.

Azure Portal'da:

  1. Web uygulamanıza gidin.
  2. Ayarlar> ve Ortam Değişkenleri bölümüne gidin.
  3. Ayarlarınızın var olduğundan emin olun.

Ortam değişkenleri ayarlanmadıysa:

Mesajlaşma uç noktasının yanıt verdiğini doğrulayın

Web uygulamanızın Genel Bakış sayfasında bulduğunuz uç noktanın mevcut olduğunu PowerShell veya başka yöntemlerle doğrulayın. Aksi takdirde, mesajlaşma uç noktasındaki 404 hatasına bakın.

Sonraki adımlar

Sonraki adım olarak, aracı uygulamanızı Microsoft Admin Center'a yayınlayın; böylece buradan aracı örnekleri ve kullanıcılar oluşturabilirsiniz.

Aracınız artık bulutta aktif durumda ve aracıik taleplere yanıt vermeye hazır. Aracınız gerçek dünya taleplerini yönetirken, kodunuz için aşağıdaki adımları göz önünde bulundurun:

  • Performansı izleyin: Aracının davranışını izlemek ve yanıtları optimize etmek için gözlemlenebilirlik özelliklerini kullanın.
  • Daha fazla araç ekleyin: Aracınızın yeteneklerini genişletmek için araç kataloğunu keşfedin.
  • Yineleyin ve geliştirin: Aracı kodunuzu güncelleyin, yeniden dağıtın ve yeniden yayınlayın (sürüm numarasını artırmayı unutmayın!).
  • Kuruluşunuz genelinde ölçekleyin: Aracınızın başarı hikayelerini paylaşarak benimsenmeyi teşvik edin.

Sorun giderme

Bu bölüm, aracıların Azure'a dağıtılırken karşılaşılan yaygın sorunları açıklar.

İpucu

Agent 365 Sorun Giderme Kılavuzu yüksek seviyeli sorun giderme önerileri, en iyi uygulamalar ve Agent 365 geliştirme yaşam döngüsünün her aşamasına yönelik sorun giderme içeriğine bağlantılar sunar.

Dağıtma komutu başarısız oluyor

Belirti: Azure'a dağıtım başarısız.

Yaygın nedenler ve çözümler:

  • Yapı hataları

    Detaylı derleme hatalarını görmek için projeyi yerel olarak tekrar derle:

    # .NET
    dotnet clean
    dotnet build --verbosity detailed
    
    # Python
    uv build
    
    # Node.js
    npm install
    npm run build
    
  • Azure kimlik doğrulamasının süresi doldu

    Azure'a tekrar giriş yapın:

    az login
    az account show  # Verify correct subscription
    
  • Web uygulaması oluşturulmadı

    Hedefin var olduğunu doğrulamak için Web Uygulamalarını listeleyin:

    # List Web Apps in resource group
    az webapp list --resource-group <your-resource-group> --output table
    
  • Dağıtım günlüklerini kontrol et

    Detaylı dağıtım günlüklerini görüntülemek için az webapp log tail komutunu kullanın:

    az webapp log tail --name <your-app-name> --resource-group <your-resource-group>
    
  • Doğrulama:

    # Web App should be running
    az webapp show --name <your-app-name> --resource-group <your-resource-group> --query state
    # Expected: "Running"
    

Web uygulaması durdurulmuş

Belirti: Dağıtım başarılı oldu ancak web uygulaması çalışmıyor.

Çözüm:az webapp start ve az webapp show komutlarını kullanarak web uygulamasını başlatın ve çalıştığını doğrulayın.

# Start the Web App
az webapp start --name <your-app> --resource-group <your-resource-group>

# Verify it's running
az webapp show --name <your-app> --resource-group <your-resource-group> --query state

Uygulama başlatılırken çöküyor

Belirti: Web uygulaması başlatılıyor ancak hemen çöküyor; günlüklerde hata görünüyor.

Yaygın nedenler:

  • Eksik bağımlılıklar - Gerekli paketlerin tamamen içerdiğinden emin olmak için derleme çıktısını kontrol edin.
  • Eksik ortam değişkenleri - Tüm gerekli ayarların ayarlandığını doğrulayın.
  • Çalışma zamanı sürüm uyumsuzluğu - Azure çalışma zamanının geliştirme ortamınızla uyumlu olduğundan emin olun.
  • Kod hataları: Uygulama günlüklerinde istisnalara bakın.

Çözüm: Günlükleri görüntülemek, ortam değişkenlerini kontrol etmek ve eksik değişkenleri ayarlamak için az webapp log tail, az webapp config appsettings list ve az webapp config appsettings set komutlarını kullanın.

# View application logs
az webapp log tail --name <your-app> --resource-group <your-resource-group>

# Check environment variables
az webapp config appsettings list --name <your-app> --resource-group <your-resource-group>

# Manually set a missing variable
az webapp config appsettings set --name <your-app> --resource-group <your-resource-group> --settings KEY=VALUE

Mesajlaşma uç noktasında 404 hatası

Belirti: Web uygulaması çalışıyor ama /api/messages uç nokta 404 hatası döndürüyor.

Çözüm:

  1. Aracı kodunuzda rota yapılandırmasını doğrulayın.
  2. Uç nokta işleyicisinin doğru şekilde kayıtlı olduğundan emin olun.
  3. Doğru giriş noktasının dağıtımda belirtildiğinden emin olun.

URL'ye bir GET istek göndererek uç noktayı test edin. Web uygulaması yapılandırmasını kontrol etmek için az webapp config show komutunu kullanın.

curl https://<your-app-name>.azurewebsites.net/api/messages
az webapp config show --name <your-app> --resource-group <your-resource-group>

Ortam değişkenleri ayarlanmamış veya yanlış

Belirti: Dağıtım başarılı ancak aracı çalışmıyor; loglarda eksik yapılandırma hataları görünüyor.

Çözüm: Ortam değişkenlerini kontrol edin ve güncelleyin. Ortam değişkenlerini kontrol etmek ve eksik değişkenleri ayarlamak için az webapp config appsettings list ve az webapp config appsettings set komutlarını kullanın. Sonra yeniden dağıtın.

# List all app settings
az webapp config appsettings list --name <your-app> --resource-group <your-resource-group>

# Set a specific variable
az webapp config appsettings set --name <your-app> --resource-group <your-resource-group> --settings API_KEY=your-value

Derleme yerelde başarılı, ancak Azure'da başarısız oluyor.

Belirti: Kod yerel makinenizde sorunsuz derleniyor ancak Azure dağıtımı sırasında başarısız oluyor.

Çözümler:

  • Platforma özgü bağımlılıkları kontrol edin

    • Bazı paketlerin platforma özgü yapıları var.
    • Bağımlılıkların Linux'u desteklediğinden emin olun (Azure Web Apps varsayılan olarak Linux üzerinde çalışır).
  • Çalışma zamanı sürümlerinin eşleştiğini doğrulayın

    Şu komutları çalıştırın:

    # Check your local version
    dotnet --version  # .NET
    node --version    # Node.js
    python --version  # Python
    

    Azure Portal'da çalışma zamanı ile karşılaştırın: Ayarlar>Yapılandırma>Genel ayarlar>Yığın ayarları.

Daha fazla yardım için bkz: Mesajlaşma uç noktası sorun giderme.