Azure Web uygulaması görevi

ParametrelerDescription
azureSubscription
Azure aboneliği
Istenir Azure Resource Manager hizmeti bağlantısının adı
appType
Uygulama türü
Seçim Web uygulaması türü
appName
Uygulama adı
Istenir Var olan bir App Service adı
deployToSlotOrASE
Yuvaya veya App Service Ortamı dağıtma
Seçim Mevcut bir dağıtım yuvasına veya Azure App Service Ortamı dağıtma seçeneğini belirleyin. Her iki hedef için de görevin kaynak grubu adı olması gerekir. Dağıtım hedefinin bir yuva olması durumunda dağıtım, varsayılan olarak üretim yuvasına yapılır. Diğer bir mevcut yuva adı da belirtilebilir. Dağıtım hedefinin bir Azure App Service ortamı olması durumunda, kaynak grubu adını belirtin.
Varsayılan değer: false
resourceGroupName
Kaynak grubu
(Deploytoslotorayse = = true ise gereklidir) Kaynak grubunun adı
slotName
Yuva
(Deploytoslotorayse = = true ise gereklidir) Yuvanın adı
Varsayılan değer: üretim
package
Paket veya klasör
Istenir paketin dosya yolu veya MSBuild tarafından oluşturulan App Service içerikleri içeren bir klasöre veya sıkıştırılmış bir zıp veya war dosyasına.
Derleme değişkenleri veya Sürüm değişkenleri) ve joker karakterler desteklenir. Örneğin $(System.DefaultWorkingDirectory)/**/*.zip veya $(System.DefaultWorkingDirectory)/**/*.war olabilir.
runtimeStack
Çalışma zamanı yığını
Seçim Linux üzerinde Web uygulaması, uygulamanızı yayımlamak için iki farklı seçenek sunar, biri özel görüntü dağıtımı (Kapsayıcılar için Web App) ve diğeri yerleşik bir platform görüntüsüyle (Linux üzerinde Web uygulaması) uygulama dağıtımdır. Bu parametreyi yalnızca, görevdeki uygulama türü seçimi seçeneğinde Linux Web uygulaması ' nı seçtiğinizde görürsünüz.
startUpCommand
Başlangıç komutu
Seçim Dağıtım sonrası uygulama çalıştırmak için appType = = webAppLinux) başlangıç komutu
customWebConfig
Python, Node.js, Go ve Java uygulamaları için web.config parametreleri oluşturma
Seçim Bir standart web.config oluşturulur ve uygulamanın bir tane yoksa Azure App Service dağıtılır. web.config değerler düzenlenebilir ve uygulama çerçevesine göre farklılık gösterir. Örneğin, node.js uygulama için web.config başlangıç dosyası ve iis_node modül değerleri olacaktır. Bu düzenleme özelliği yalnızca oluşturulan web.config içindir. Daha fazla bilgi edinin
appSettings
Uygulama ayarları
Seçim '-Anahtar değer ' söz dizimi kullanılarak girilecek uygulama ayarları. Boşluk içeren değerler çift tırnak içine alınmalıdır.
Örnek: -bağlantı noktası 5000-RequestTimeout 5000-WEBSITE_TIME_ZONE "Doğu Standart Saati"
configurationStrings
Yapılandırma ayarları
Seçim '-Anahtar değer ' söz dizimi kullanılarak girilecek yapılandırma dizeleri. Boşluk içeren değerler çift tırnak içine alınmalıdır.
Örnek: -phpversion 5,6-linuxFxVersion: node | 6.11
deploymentMethod
Dağıtım yöntemi
Istenir Uygulama için dağıtım yöntemi . Kabul edilebilir değerler Otomatik, zipdeploy, runfrompackage
Varsayılan değer: otomatik

Aşağıda, Web uygulamasını Windows üzerinde çalışan Azure Web App Service 'e dağıtmak için bir YAML kod parçacığı verilmiştir.

Örnek


variables:
  azureSubscription: Contoso
  # To ignore SSL error uncomment the below variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:

- task: AzureWebApp@1
  displayName: Azure Web App Deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: samplewebapp
    package: $(System.DefaultWorkingDirectory)/**/*.zip

Linux üzerinde Web uygulaması dağıtmak için appType parametresini ekleyin ve olarak ayarlayın appType: webAppLinux .

Dağıtım yöntemini ZIP Deploy olarak belirtmek için parametresini ekleyin deploymentMethod: zipDeploy . Bu parametre için desteklenen diğer değer runFromPackage . Belirtilmemişse, auto varsayılan değer olarak alınır.

Dağıtım yöntemleri

Bu görevde çeşitli dağıtım yöntemleri mevcuttur. Auto varsayılan seçenektir.

Tasarımcı görevinde dağıtım seçeneğini değiştirmek için ek dağıtım seçenekleri ' ni genişletin ve dağıtım yöntemini seçin ek paket tabanlı dağıtım seçeneklerinden seçim yapın.

Azure App Service ve Azure Pipelines aracısının türüne göre, görev uygun bir dağıtım teknolojisini seçer. Görev tarafından kullanılan farklı dağıtım teknolojileri şunlardır:

  • Kudu REST API 'Leri
  • Zip Deploy
  • RunFromPackage

Varsayılan olarak, görev, giriş paketi, App Service türü ve aracı işletim sistemi verilen uygun dağıtım teknolojisini seçme girişiminde çalışır.

  • App Service türü Linux uygulamasında Web App olduğunda, ZIP Deploy kullanın
  • War dosyası sağlanmışsa, war Deploy kullanın
  • Jar dosyası sağlanmışsa, paketten Çalıştır ' ı kullanın.
  • Tüm diğerleri için zip 'Ten Çalıştır 'ı kullanın (ZIP dağıtımı aracılığıyla)

Windows olmayan aracıda (herhangi bir App service türü için), görev, Web uygulamasını dağıtmak için kudu REST apı 'lerini kullanır.

Kudu REST API 'Leri

hedef, Windows veya linux üzerinde web app (yerleşik kaynak) veya İşlev Uygulaması üzerinde web uygulaması olduğunda, Windows ve linux otomasyon aracısı üzerinde de kullanılabilir. Bu görev, Azure App Service 'e dosya kopyalamak için kudu kullanır.

Zip Deploy

Seçilen paket veya klasörün .zip dağıtım paketini oluşturur ve dosya içeriğini Azure 'da App Service Name işlev uygulamasının Wwwroot klasörüne dağıtır. Bu seçenek Wwwroot klasöründeki tüm var olan içeriğin üzerine yazar. Daha fazla bilgi için bkz. Azure işlevleri Için zip dağıtımı.

RunFromPackage

ZIP dağıtımı ile aynı dağıtım paketini oluşturur. Ancak, dosyaları Wwwroot klasörüne dağıtmak yerine, tüm paket Işlevler çalışma zamanına göre bağlanır. Bu seçenekle, Wwwroot klasöründeki dosyalar salt okunurdur. Daha fazla bilgi için bkz. Azure İşlevlerinizi paket dosyasından çalıştırma.

Sorun giderme

Hata: Azure için erişim belirteci getirilemedi. Kullanılan hizmet sorumlusunun geçerli ve kullanım dışı olduğunu doğrulayın.

Görev, Azure ile kimlik doğrulamak için hizmet bağlantdaki hizmet sorumlusunu kullanır. Hizmet sorumlusunun süresi dolmuşsa veya App Service izinleri yoksa, görev bu hata ile başarısız olur. Kullanılan hizmet sorumlusunun geçerliliğini ve uygulama kaydında mevcut olduğunu doğrulayın. Daha fazla bilgi için bkz. Azure abonelik kaynaklarınıza erişimi yönetmek için rol tabanlı erişim denetimi kullanma. Bu blog gönderisi Ayrıca hizmet sorumlusu kimlik doğrulamasını kullanma hakkında daha fazla bilgi içerir.

SSL hatası

App Service bir sertifika kullanmak istiyorsanız, sertifikanın güvenilir bir sertifika yetkilisi tarafından imzalanması gerekir. Web uygulamanız sertifika doğrulama hataları veriyorsa, büyük olasılıkla otomatik olarak imzalanan bir sertifika kullanıyorsunuz. VSTS_ARM_REST_IGNORE_SSL_ERRORStrue Hatayı çözümlemek için derleme veya yayın ardışık düzeninde bulunan değere adlı bir değişken ayarlayın.

Sürüm uzun süre kilitleniyor ve sonra başarısız oluyor

Bu sorun App Service planınızda yetersiz kapasiteden kaynaklanıyor olabilir. Bu sorunu çözmek için, kullanılabilir CPU, RAM ve disk alanını artırmak veya farklı bir App Service planıyla denemek için App Service örneğini ölçeklendirebilirsiniz.

5xx hata kodu

5xx hatası görüyorsanız, Azure hizmetinizin durumunu kontrol edin.

Hata: belirtilen düzene sahip bir paket bulunamadı

Görevde belirtilen paketin derlemede veya önceki bir aşamada yapıt olarak yayımlanıp yayımlanmadığını ve geçerli işe indirilip indirilmediğini denetleyin.

Hata: zip dağıtımı kullanarak yayımlama seçeneği msBuild paket türü için desteklenmiyor

MSBuild göreviyle oluşturulan web paketlerinin (varsayılan bağımsız değişkenlerle) yalnızca Web Dağıtımı tarafından doğru dağıtılabilir iç içe geçmiş bir klasör yapısı vardır. Zip'e yayımlama dağıtım seçeneği, bu paketleri dağıtmak için kullanılamaz. Paketleme yapısını dönüştürmek için şu adımları uygulayın:

  1. Çözüm derleme görevinin Bağımsız Değişkenlerini MSBuild olarak değiştirebilirsiniz:

    Çözüm oluşturma değerlerini gösteren ekran görüntüsü.

  2. Bir Arşiv görevi ekleyin ve değerleri aşağıdaki gibi değiştirin:

    1. Kök klasör veya dosyayı olarak arşiv olarak değiştirme.

    2. Yolları arşivlemek için Ön uç kök klasör adını temizleyin onay kutusu:

      Arşiv değerlerini gösteren ekran görüntüsü.

Windows üzerinde web uygulaması dağıtımı başarılı oldu ama uygulama çalışmıyor

Bunun nedeni web.config mevcut olması olabilir. Kaynağınıza bir web.config dosyası ekleyebilir veya görevin Uygulama ve Yapılandırma Ayarlar otomatik olarak oluşturabilirsiniz.

  • Göreve tıklayın ve Python, Node.js, Go ve Java uygulamaları için web.config parametreleri oluştur'a gidin.

Veri web.config Oluştur İletişim Kutusu

  • Parametreleri düzenlemek için Python, web.config, Go ve Java uygulamaları için Node.js oluştur düğmesine tıklayın.

Açılan İletişim Kutusu

  • Açılan listeden uygulama türlerinizi seçin.
  • Tamam'a tıklayın. Bu, web.config oluşturmak için gereken parametreleri web.config.

App Service Ortamı'nda (ASE) web uygulaması dağıtımı çalışmıyor

  • Derleme aracı Azure DevOps ASE İç Ağ (ILB) ile aynı sanal ağda (alt ağ farklı olabilir) Load Balancer emin olun. Bu, aracının verilerden kod çekmesini Azure DevOps ASE'ye dağıtmaya olanak sağlar.
  • Azure DevOps kullanıyorsanız, aracıya İnternet'den erişilene gerek yok, ancak Azure DevOps Hizmeti'ne bağlanmak için yalnızca giden erişime ihtiyacı vardır.
  • Sanal Ağa dağıtılan TFS/Azure DevOps sunucusu kullanıyorsanız, aracı tamamen yalıtılabilir.
  • Derleme aracısı, dağıtması gereken Web Uygulamasının DNS yapılandırmasıyla yapılandırıldı. Sanal Ağ'daki özel kaynakların içinde girişler Azure DNS, bunun aracı makinedeki konak dosyasına ekleniyor olması gerekir.
  • ASE yapılandırması için otomatik olarak imzalanan bir sertifika kullanılıyorsa, MSDeploy.It için dağıtım görevsinde "-allowUntrusted" seçeneğinin de true olarak VSTS_ARM_REST_IGNORE_SSL_ERRORS önerilir. ASE yapılandırması için sertifika yetkililerinden bir sertifika kullanılıyorsa, bu gerekli değildir.

SSS

Hizmet bağlantımı nasıl yapılandırmam gerekir?

Bu görev için bir Azure Resource Manager bağlantısı gerekir.

Application Analizler ile web işi dağıtımını nasıl Analizler?

Bir sanal cihaza dağıtım App Service, Application Analizler yapılandırdıysanız ve etkinleştirdiyseniz de etkinleştirmeniz Exclude files from the App_Data folder gerekir. Bu seçeneğin etkinleştirilmesi, Uygulama Analizler güvenli bir durumda tutar. Application Analizler continuous WebJob App_Data gereklidir.

Aracımı bir ara sunucuya dağıtım yaparken ara sunucu arkasında olacak şekilde nasıl App Service?

Kendi kendine barındırılan aracınız bir web proxy gerektiriyorsa, yapılandırma sırasında aracıyı ara sunucu hakkında bilgilendirin. Bunu yapmak, aracınıza ara sunucu üzerinden Azure Pipelines veya Azure DevOps Server bağlanmanıza olanak sağlar. Bir aracı arkasında kendinden konak aracı çalıştırma hakkında daha fazla bilgi web proxy.

Açık Kaynak

Bu görev, üzerinde açık kaynak GitHub. Geri bildirim ve katkılar açıktır.

Azure Pipelines

Bu görevi kullanarak web uygulamalarını Azure App Service.

Bağımsız değişkenler