Azure Web uygulaması görevi
| Parametreler | Description |
|---|---|
azureSubscriptionAzure aboneliği | Istenir Azure Resource Manager hizmeti bağlantısının adı |
appTypeUygulama türü | Seçim Web uygulaması türü |
appNameUygulama adı | Istenir Var olan bir App Service adı |
deployToSlotOrASEYuvaya 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 |
resourceGroupNameKaynak grubu | (Deploytoslotorayse = = true ise gereklidir) Kaynak grubunun adı |
slotNameYuva | (Deploytoslotorayse = = true ise gereklidir) Yuvanın adı Varsayılan değer: üretim |
packagePaket 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. |
startUpCommandBaşlangıç komutu | Seçim Dağıtım sonrası uygulama çalıştırmak için appType = = webAppLinux) başlangıç komutu |
customWebConfigPython, 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 |
appSettingsUygulama 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" |
configurationStringsYapı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 |
deploymentMethodDağı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:
Çözüm derleme görevinin Bağımsız Değişkenlerini MSBuild olarak değiştirebilirsiniz:
Bir Arşiv görevi ekleyin ve değerleri aşağıdaki gibi değiştirin:
Kök klasör veya dosyayı olarak arşiv olarak değiştirme.
Yolları arşivlemek için Ön uç kök klasör adını temizleyin onay kutusu:
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.

- 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 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.