İngilizce dilinde oku

Aracılığıyla paylaş


AzureContainerApps@1 - Azure Container Apps Dağıtım v1 görevi

Azure Container Apps derlemek ve dağıtmak için bir Azure DevOps Görevi.

Sözdizimi

YAML
# Azure Container Apps Deploy v1
# An Azure DevOps Task to build and deploy Azure Container Apps.
- task: AzureContainerApps@1
  inputs:
  # advanced
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #appSourcePath: # string. Application source path. 
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    #acrName: # string. Azure Container Registry name. 
    #acrUsername: # string. Azure Container Registry username. 
    #acrPassword: # string. Azure Container Registry password. 
    #dockerfilePath: # string. Dockerfile path. 
    #imageToBuild: # string. Docker image to build. 
    #imageToDeploy: # string. Docker image to deploy. 
    #containerAppName: # string. Azure Container App name. 
    #resourceGroup: # string. Azure resource group name. 
    #containerAppEnvironment: # string. Azure Container App environment. 
    #runtimeStack: # string. Application runtime stack. 
    #targetPort: # string. Application target port. 
    #location: # string. Location of the Container App. 
    #environmentVariables: # string. Environment variables. 
    #ingress: # string. Ingress setting. 
    #yamlConfigPath: # string. YAML configuration file path. 
    #disableTelemetry: # boolean. Disable telemetry.

Giriş

çalışma dizini
Giriş diğer adı: cwd. string.

Betiğin çalıştırıldığı geçerli çalışma dizini. Boş, deponun (derleme) veya yapıtların (yayın) köküdür ve $(System.DefaultWorkingDirectory).


uygulama kaynak yolunu
string.

Oluşturulacak kaynak uygulama kodunun çalıştırıcısı üzerindeki mutlak yol. Sağlanmadıysa, Kapsayıcı Uygulaması'nın başvuracak bir görüntüsü olduğundan emin olmak için 'imageToDeploy' bağımsız değişkeni sağlanmalıdır.

ACR'ye yeni bir görüntü gönderirken, acrName ve appSourcePath görev girişleri gerekir.


Azure Resource Manager bağlantı
Giriş diğer adı: connectedServiceNameARM. string. Gerekli.

Dağıtım için bir Azure Resource Manager hizmet bağlantısı belirtin. Bu hizmet bağlantısı, kullanıcının Kapsayıcı Uygulamasının oluşturulacağı/güncelleştirileceği Azure Aboneliğine bağlanmalıdır. Bu hizmet bağlantısı abonelik içinde bu değişiklikleri yapmak için uygun izinlere sahip olmalıdır, örneğin Katkıda Bulunan rolü.


Azure Container Registry adı
string.

Çalıştırılabilir uygulama görüntüsünün gönderileceği Azure Container Registry'nin adı.

ACR'ye yeni bir görüntü gönderirken, acrName ve appSourcePath görev girişleri gerekir.


Azure Container Registry kullanıcı adı
string.

Sağlanan Azure Contrainer Kayıt Defteri'nde anında iletme isteklerinin kimliğini doğrulamak için kullanılan kullanıcı adı. Sağlanmazsa, 'az acr login' aracılığıyla bir erişim belirteci oluşturulur ve isteklerin kimliğini doğrulamak için 'docker login' öğesine sağlanır.


Azure Container Registry parolasını
string.

Sağlanan Azure Contrainer Kayıt Defteri'nde anında iletme isteklerinin kimliğini doğrulamak için kullanılan parola. Sağlanmazsa, 'az acr login' aracılığıyla bir erişim belirteci oluşturulur ve isteklerin kimliğini doğrulamak için 'docker login' öğesine sağlanır.


Dockerfile yolu
string.

Daha sonra ACR'ye gönderilen ve Container App'e dağıtılan görüntüyü oluşturmak için kullanılması gereken uygulama kaynağındaki Dockerfile dosyasına göreli yol (_without dosya ön ekleri (aşağıdaki Örneklerbakın). Sağlanmadıysa, bu görev sağlanan uygulama kaynağının kökünde 'Dockerfile' adlı bir dosya olup olmadığını denetler ve görüntüyü oluşturmak için bunu kullanır. Aksi takdirde, görüntüyü oluşturmak için Oryx++ Oluşturucusu kullanılır.


oluşturmak için Docker görüntüsünü
string.

Oluşturulacak, ACR'ye gönderilen ve bu görev tarafından Container App'e dağıtılacak görüntünün özel adı. Not: Bu görüntü adı ACR sunucusunu içermelidir; örneğin, <acr-name>.azurecr.io/<repo>:<tag>. Bu bağımsız değişken sağlanmazsa, <acr-name>.azurecr.io/ado-task/container-app:<build-id>.<build-number>biçiminde bir varsayılan görüntü adı oluşturulur.


dağıtmak için Docker görüntüsünü
string.

ACR'ye zaten gönderilen ve bu görev tarafından Kapsayıcı Uygulamasına dağıtılacak görüntünün adı. Not: Görüntü adı ACR sunucusunu içermelidir; örneğin, <acr-name>.azurecr.io/<repo>:<tag>. Bu bağımsız değişken sağlanmazsa, 'imageToBuild' bağımsız değişkeni için sağlanan (veya belirlenen) değer kullanılır. Bu görüntü çekmesi için kimlik doğrulaması gerektiren bir ACR örneğinde bulunursa, ACR örneğine yönelik isteklerin kimliğini doğrulamak için acrName bağımsız değişkeni veya acrUsername ve acrPassword bağımsız değişkenleri sağlanabilir.


Azure Container App adı
string.

Oluşturulacak veya güncelleştirilecek Azure Container App'in adı. Sağlanmazsa, bu değer ado-task-app-<build-id>-<build-number>biçiminde olur.


Azure kaynak grubu adını
string.

Azure Container App'in oluşturulacağı (veya şu anda içinde bulunduğu) mevcut kaynak grubu. Sağlanmazsa, bu değer <container-app-name>-rgbiçiminde olur.


Azure Container App ortamı
string.

Uygulamayla kullanılacak Azure Container App ortamının adı. Sağlanmazsa, Kapsayıcı Uygulamasının kaynak grubundaki mevcut bir ortam kullanılır, aksi takdirde <container-app-name>-envbiçiminde bir ortam oluşturulur.


Uygulama çalışma zamanı yığını
string.

Container App'e dağıtılan son çalıştırılabilir uygulama görüntüsünde kullanılan platform sürümü yığını. Değer, <platform>:<version>oluşumunda sağlanmalıdır. Sağlanmazsa, bu değer Oryx tarafından sağlanan uygulamanın içeriğine göre belirlenir. Oryx için desteklenen çalışma zamanı yığınları hakkında daha fazla bilgi için lütfen bu belge bakın.


uygulama hedef bağlantı noktası
string.

Kapsayıcı Uygulamasının dinleyeceği hedef bağlantı noktası. Sağlanmadıysa, bu değer Python uygulamaları için "80" ve desteklenen diğer tüm platformlar için "8080" olur.


Kapsayıcı Uygulaması Konumu
string.

Kapsayıcı Uygulamasının (ve oluşturulan diğer kaynakların) dağıtılacağı konum.


environmentVariables - Ortam değişkenleri
string.

Kapsayıcı için ortam değişkenlerinin listesi. 'key=value' biçiminde boşlukla ayrılmış değerler. Varolan değerleri temizlemek için boş dize. Gizli diziye başvurmak için 'secretref:' ön ek değeri.


ingress - Giriş ayarı
string.

Olası seçenekler: dış, iç, devre dışı. external olarak ayarlanırsa (Kapsayıcı Uygulaması oluşturulurken sağlanmadıysa varsayılan değer), kapsayıcı uygulaması yapılandırılan uygulama ortamı uç noktasına bağlı olarak İnternet'ten veya sanal ağdan görünür. internalolarak ayarlanırsa, Kapsayıcı Uygulaması yalnızca uygulama ortamında görünür. disabledolarak ayarlanırsa, bu Kapsayıcı Uygulaması için giriş devre dışı bırakılır ve http veya TCP uç noktası olmaz.


YAML yapılandırma dosyası yolunu
string.

Kapsayıcı Uygulamasının yapılandırmasını ayrıntılı olarak belirten YAML dosyasının tam yolu (azure pipelines aracısını yürütürken).

YAML yapılandırma dosyasındaki resourceGroup özelliği kullanılmaz; bunun değeri, göreve sağlanan resourceGroup bağımsız değişkeninden veya görev tarafından oluşturulan varsayılan kaynak grubu adından gelir. YAML yapılandırma dosyasında sağlanan diğer tüm özellikler, bu göreve bağımsız değişken olarak sağlanan değerleri geçersiz kılar; örneğin, göreve containerAppName bağımsız değişkeni sağlanırsa ve name özelliği YAML yapılandırma dosyasında ayarlanırsa, Kapsayıcı Uygulamasını oluştururken veya güncelleştirirken YAML dosyasındaki name özelliği kullanılır.

Görüntü ve uygulama kaynağı bağımsız değişkenleri (, appSourcePath, imageToDeploy) kapsayıcı uygulaması tarafından kullanılan bir görüntüyü derlemek ve/veya göndermek için kullanılmaya devam eder; bu durumda, sağlanan YAML yapılandırma dosyasının imageToDeploy (veya senaryonuza bağlı olarak imageToBuild) tarafından belirtilen görüntüye başvurması gerekir.

Yeni bir Kapsayıcı Uygulaması oluştururken, Kapsayıcı Uygulaması oluşturulduğunda YAML yapılandırma dosyasında listelenen tüm özellikler (yukarıda belirtildiği gibi resourceGroup dışında) ayarlanır. Mevcut bir Kapsayıcı Uygulamasını güncelleştirirken, Kapsayıcı Uygulamasında yalnızca dosyada listelenen özellikler güncelleştirilir.

ŞU anda YAML dosyası, kullanılan kapsayıcı kayıt defteri için yönetilen kimlik kimlik doğrulamasının ayarlanmasını desteklememektedir; Bu sorun hakkında daha fazla bilgi için lütfen bu GitHub sorununubakın.

yamlConfigPath bağımsız değişkeninin sağlandığı durumlarda, YAML dosyası az containerapp veya create komutuna geçirilir senaryonuza bağlı olarak update. YAML yapılandırma dosyası sağlandığında hedeflenen davranış hakkında daha fazla bilgi için ilgili komutlar için bağlantılı belgelere bakın.

YAML yapılandırma dosyasının yapısı hakkında daha fazla bilgi için lütfen bu siteyiadresini ziyaret edin.


telemetri devre dışı bırakma
boolean.

'true' olarak ayarlanırsa, bu Azure DevOps Görevi tarafından hiçbir telemetri toplanmaz. 'false' olarak ayarlanırsa veya bu bağımsız değişken sağlanmazsa, telemetri bu Azure DevOps Görevi tarafından hedeflenen Kapsayıcı Uygulaması derleme ve dağıtma senaryosu hakkında Microsoft'a gönderilir.


Görev denetimi seçenekleri

Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Hiç kimse.

Açıklamalar

Bu Azure Pipelines Görevi, kullanıcıların daha önce oluşturulmuş bir görüntü, görüntünün oluşturulabileceği bir Dockerfile sağlayarak veya kullanıcı için çalıştırılabilir bir uygulama görüntüsü oluşturmak için oluşturucu kullanarak azure pipelines iş akışlarında bir Azure Container App kolayca uygulama kaynaklarını dağıtmalarına olanak tanır.

Görev aşağıdaki iki kullanım desenini içerir.

  • ACR'ye görüntü gönderme - ACR'ye yeni bir görüntü gönderirken acrName ve appSourcePath görev girişleri gerekir.
  • Önceden gönderilen bir görüntüyü dağıtma - önceden gönderilen bir görüntüyü dağıtırken, imageToDeploy görev girişi gerekir. Bu görüntü çekmesi için kimlik doğrulaması gerektiren bir ACR örneğinde bulunursa, ACR örneğine yönelik isteklerin kimliğini doğrulamak için acrName bağımsız değişkeni veya acrUsername ve acrPassword bağımsız değişkenleri sağlanabilir.

Not

Bu görevin meta verilerinde hiçbir görev girişi resmi olarak "gerekli" olarak işaretlenmese de, bu görevin iki ana kullanım düzeninden birini kullanarak başarıyla çalışması için bazı girişlerin sağlanması gerekir.

Sağlanan uygulama kaynağında dockerfile bulunamaz veya sağlanmamışsa, bu görev tarafından aşağıdaki adımlar gerçekleştirilir:

  • Oryx kullanarak çalıştırılabilir bir uygulama görüntüsü oluşturmak üzere uygulama kaynağını oluşturmak için Oryx++ Oluşturucusu'nu kullanır
  • Bu çalıştırılabilir uygulama görüntüsünü sağlanan Azure Container Registry'ye gönderir
  • Bu görüntüyü temel alan bir Kapsayıcı Uygulaması oluşturur veya güncelleştirir

Uygulama kaynağında bir Dockerfile bulunur veya bulunursa, oluşturucu kullanılmaz ve görüntü docker build çağrısıyla oluşturulur ve Kapsayıcı Uygulaması bu görüntüye göre oluşturulur veya güncelleştirilir.

Önceden oluşturulmuş bir görüntü ACR örneğine zaten gönderildiyse ve bu göreve sağlandıysa, uygulama kaynağı gerekmez ve kapsayıcı uygulamasını oluştururken veya güncelleştirirken görüntü kullanılır.

Bu görevi Microsoft tarafından barındırılan aracılarda çalıştırma

Bu görevi microsoft tarafından barındırılan bir aracıçalıştırıyorsanız, bu görevin aşağıdaki işletim sistemleriyle başarıyla çalıştırılamayacağını bulabilirsiniz:

  • macOS
    • Microsoft tarafından sağlanan macOS runners Docker ile birlikte yüklenmez (daha fazla bilgi burada); Sonuç olarak, bu görev, çalıştırılabilir uygulama görüntülerini ACR'ye gönderme gibi docker komutlarını çalıştıramaz.
  • Windows
    • Microsoft tarafından sağlanan Windows çalıştırıcıları Docker yüklü olarak gelir, ancak varsayılan olarak Linux tabanlı görüntüler indirilemiyor; Sonuç olarak, bu görev sağlanan uygulama kaynağından çalıştırılabilir uygulama görüntüleri oluşturmak için Oryx oluşturucusunu aşağı çekemez.

Daha fazla bilgi için lütfen aşağıdaki Docker önkoşul bölümüne bakın.

Veri/Telemetri Toplama Bildirimi

Varsayılan olarak, bu Azure DevOps Görevi Microsoft için aşağıdaki veri parçalarını toplar:

  • Kullanıcı tarafından hedeflenen Kapsayıcı Uygulaması derleme ve dağıtma senaryosu
    • , Oryx++ Oluşturucusu'nu kullandı, sağlanan/bulunan bir Dockerfile kullandı veya önceden oluşturulmuş bir görüntü sağladı
    • Not: Resim adı toplanmaz
  • Görevin işleme süresi (milisaniye cinsinden)
  • Görevin sonucu
    • , başarılı veya başarısız
  • Oryx++ Oluşturucusu kullanılıyorsa, Oryx kullanarak sağlanan uygulamayı oluşturmaya ilişkin olaylar ve ölçümler

Veri toplamayı devre dışı bırakmak istiyorsanız lütfen disableTelemetry bağımsız değişkenini trueolarak ayarlayın.

Önkoşullar

Bu görevi çalıştırmadan önce, bu göreve sağlanan bağımsız değişkenlere bağlı olarak Azure kaynakları ve Azure DevOps hizmet bağlantısı gereklidir veya isteğe bağlıdır.

Azure DevOps Hizmet Bağlantısı

Azure'a dağıtmak için, ayarlar bölümündeki Hizmetler sekmesi kullanılarak bir Azure aboneliğinin Team Foundation Server'a veya Azure Pipelines'a bağlanması gerekir. Hesap Yönetimi ekranını (ekranın sağ üst köşesindeki dişli simgesi) açıp Hizmetler Sekmesine tıklayarak Derleme veya Yayın Yönetimi tanımında kullanılacak Azure aboneliğini ekleyin.

ARM hizmet uç noktasını oluşturun ve 'Azure Resource Manager' uç nokta türünü kullanın; Hizmet bağlantıları oluşturma hakkında daha fazla bilgi için lütfenbu belgeyi izleyin.

Azure CLI

Bu görev, görevin yürütülmesi boyunca çeşitli komutları yürütmek için Azure Pipelines aracısına Azure CLI'nin yüklenmesini gerektirir. Aracıya Azure CLI yükleme hakkında daha fazla bilgi için lütfen bu belgeyibakın. Azure CLI'nın yüklü olduğu makinede bir aracı zaten çalışıyorsa, ilgili tüm ortam değişkenlerinin güncelleştirilmesi için aracıyı yeniden başlattığınızdan emin olun.

Docker

Bu görev, sağlanan Azure Container Registry'ye görüntü göndermek için Azure Pipelines aracısına Docker'ın yüklenmesini gerektirir. Aracıya Docker'ı yükleme hakkında daha fazla bilgi için lütfen bu belgeyibakın.

Buna ek olarak, bu görevi bir Windows aracısı ile çalıştıran kullanıcılar Linux tabanlı görüntüleri çekememeyle ilgili bir sorunla karşılaşabilir; Bu sorunu çözmek için aracınızdaki DockerCli.exe dosyasını bulun (genellikle Program Files\Docker\Docker klasöründedir) ve komutunu çalıştırın

& `.\DockerCli.exe` -SwitchDaemon

Docker bu görevi çalıştıran aracıda yüklü değilse, aşağıdaki senaryolar hala etkindir:

  • Container App'in dağıttığı bağımsız değişkenine önceden oluşturulmuş imageToDeploy görüntüsü sağlama

Docker aracıdaysa ancak Linux tabanlı görüntülerle çalışamıyorsa, aşağıdaki senaryolar hala etkindir:

  • Container App'in dağıttığı bağımsız değişkenine önceden oluşturulmuş imageToDeploy görüntüsü sağlama
  • Kapsayıcı Uygulaması ile derlenecek ve dağıtılacak uygulama kaynağınızın bir parçası olarak bir Dockerfile sağlama
    • Not: Dockerfile Linux tabanlı görüntü katmanları olamaz

paket CLI'sı

paketi CLI, Bulut Yerel Derleme Paketleri projesi tarafından korunur ve bu görev tarafından uygulama kaynak kodu sağlandığında ve ek Dockerfile sağlandığında veya bulunamadığında kullanıcı için çalıştırılabilir uygulama görüntüleri oluşturmak için kullanılır. Oryx tarafından bu göreve sağlanan uygulama kaynak kodunu almak ve daha sonra bir görüntü kayıt defterine gönderilebilen ve uygulamayı derlemek ve çalıştırmak için Kapsayıcı Uygulaması içinde kullanılabilen bir görüntü oluşturmak için bir oluşturucu oluşturuldu.

Görevi yürüten Azure Pipelines aracısına paket CLI'sinin kararlı bir sürümü yüklenir ve bu aracının temel işletim sistemine bağlı olarak, yüklemeye yardımcı olmak için farklı araçlardan yararlanılır:

  • Windows çalıştırıcılarında:
    • Aşağıdakileri yapmak için bir dizi PowerShell komutu yürütülür:
      • pack klasörü henüz yoksa aracının geçici klasöründe bir pack klasörü oluşturur
      • Paket CLI .zip bu pack klasörüne indirir
      • İçeriği bu .zip çıkarın ve pack klasörüne yerleştirir
      • .zip siler
  • Windows dışı çalıştırıcılarda:
    • curl, .tgz yürütülebilir dosyasını içeren pack aşağı çekmek için kullanılır
    • tar, .tgz sıkıştırmasını açmak ve pack yürütülebilir dosyasını /usr/local/bin

Azure Container Registry

Kullanıcının kapsayıcı görüntülerini gönderebileceği bir Azure Container Registry mevcut olmalıdır. Bu görev, Azure Container Registry'den yararlanarak yerleşik bir çalıştırılabilir uygulama görüntüsü gönderir ve/veya bir Kapsayıcı Uygulaması dağıtır.

Azure Container Registry'nin adı acrName bağımsız değişkeniyle gereklidir.

Kullanıcı, Azure Container Registry örneğine yönelik çağrıların kimliğini doğrulayacak acrUsername ve acrPassword bağımsız değişkenleri için de değer sağlayabilir; sağlanmadıysa, Azure CLI aracılığıyla çağrıların kimliğini doğrulayacak bir erişim belirteci oluşturulur.

Azure Container App ortamı

Azure Container App ortamı, görevin performansını artırmak için kullanıcı tarafından daha önce oluşturulmuş olması önerilir. Daha önce ortam oluşturulmadıysa veya oluşturulan Kapsayıcı Uygulamasını barındırmak için kullanılan kaynak grubunda bir ortam bulunamıyorsa, tarafından az containerapp up komutunun bir parçası olarak bir ortam oluşturulur ve bu da ek zaman alabilir.

Örnekler

Aşağıdaki örneklerde farklı senaryolarda AzureContainerApps nasıl kullanılacağı özetlenmiştir.

Minimal - Kapsayıcı Uygulaması için uygulama görüntüsü oluşturma

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'

Bu, ado-task-app-<build-id>-<build-number>adlı yeni bir kaynak grubunda <container-app-name>-rg adlı yeni bir Kapsayıcı Uygulaması oluşturur. Kapsayıcı Uygulaması, sağlanan appSourcePath oluşturulan ve sağlanan ACR örneğine gönderilen bir görüntüyü temel alır. Sağlanan ACR örneğine gönderme işleminin kimliğini doğrulamak için bir erişim belirteci oluşturulur.

Minimal - Container App için daha önce yayımlanmış görüntüyü kullanma

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    imageToDeploy: mcr.microsoft.com/<existing-image>:latest

Bu, adlı yeni bir kaynak grubunda adlı yeni bir Kapsayıcı Uygulaması oluşturur; buradayeni görüntü oluşturulmaz, ancak Kapsayıcı Uygulaması için adlı mevcut bir görüntü kullanılır.

Minimal - Container App için daha önce yayımlanmış görüntüyle YAML yapılandırma dosyasını kullanma

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    yamlConfigPath: simple-image-container-app.yaml

Bu, adlı yeni bir kaynak grubunda adlı yeni bir Kapsayıcı Uygulaması oluşturur; buradayeni görüntü oluşturulmaz, ancak Kapsayıcı Uygulaması için adlı mevcut bir görüntü kullanılır. Kapsayıcı Uygulaması hakkındaki ek özellikler dosyasından çekilir ve hariç bağımsız değişken olarak göreve sağlanmış olan ek değerleri geçersiz kılar.

simple-image-container-app.yaml dosyası aşağıdaki yapıya sahiptir:

yml
properties:
  managedEnvironmentId: /subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.App/managedEnvironments/CONTAINER_APP_ENVIRONMENT
  configuration:
    ingress:
      external: true
      allowInsecure: false
      targetPort: 80
  template:
    containers:
      - image: mcr.microsoft.com/<existing-image>:latest
        name: mysampleimagecontainer

, ve değerleri, Kapsayıcı Uygulamasının kullanacağı mevcut Container App ortamının tam kaynak kimliğine işaret edecek şekilde güncelleştirilmelidir.

Kimlik doğrulaması için ACR kimlik bilgilerini kullanma

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    acrUsername: $(ACR_USERNAME_SECRET)
    acrPassword: $(ACR_PASSWORD_SECRET)

Bu, ado-task-app-<build-id>-<build-number>adlı yeni bir kaynak grubunda <container-app-name>-rg adlı yeni bir Kapsayıcı Uygulaması oluşturur. Kapsayıcı Uygulaması, sağlanan appSourcePath oluşturulan ve sağlanan ACR örneğine gönderilen bir görüntüyü temel alır. Sağlanan ACR kimlik bilgileri, ACR örneğine yapılan çağrıların kimliğini doğrulamak için kullanılır.

Kapsayıcı Uygulaması adı sağlandı

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppName: 'my-test-container-app'

Bu, my-test-container-appyeni bir kaynak grubu adında my-test-container-app-rg adlı yeni bir Kapsayıcı Uygulaması oluşturur.

Kaynak grubu sağlandı

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    resourceGroup: 'my-test-rg'

Bu işlem, ado-task-app-<build-id>-<build-number>adlı kaynak grubunda my-test-rg adlı yeni bir Kapsayıcı Uygulaması oluşturur. my-test-rg kaynak grubu yoksa, bu görevin bir parçası olarak oluşturulur.

Kapsayıcı Uygulaması adı ve kaynak grubu sağlandı

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppName: 'my-test-container-app'
    resourceGroup: 'my-test-rg'

Bu işlem, my-test-container-appadlı kaynak grubunda my-test-rg adlı yeni bir Kapsayıcı Uygulaması oluşturur. my-test-rg kaynak grubu yoksa, bu görevin bir parçası olarak oluşturulur.

Sağlanan Container App ortamı

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppEnvironment: 'my-test-container-app-env'

Bu, ado-task-app-<build-id>-<build-number>adlı yeni bir Container App ortamıyla <container-app-name>-rg adlı yeni bir kaynak grubunda my-test-container-app-env adlı yeni bir Kapsayıcı Uygulaması oluşturur.

Sağlanan çalışma zamanı yığını

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    runtimeStack: 'dotnetcore:7.0'

Bu, çalıştırılabilir uygulama görüntüsünün .NET 7 çalışma zamanı yığınını kullandığı ado-task-app-<build-id>-<build-number> adlı yeni bir kaynak grubunda <container-app-name>-rg adlı yeni bir Kapsayıcı Uygulaması oluşturur.

Sağlanan Dockerfile

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    dockerfilePath: 'test.Dockerfile'

Bu, sağlanan uygulama kaynak yolu dizininde bulunan ado-task-app-<build-id>-<build-number> dosyasından çalıştırılabilir uygulama görüntüsünün oluşturulduğu <container-app-name>-rg adlı yeni bir kaynak grubunda test.Dockerfile adlı yeni bir Kapsayıcı Uygulaması oluşturur.

Not: dockerfilePathsağlanan değerler için hiçbir dosya ön eki eklenmemelidir (örneğin./test.Dockerfile yalnızca test.Dockerfileolarak geçirilmelidir). Sağlanan appSourcePath ve dockerfilePath bağımsız değişkenleri görevin içinde birleştirilir.

Sağlanan derleme görüntüsü

yml
steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    imageToBuild: 'mytestacr.azurecr.io/app:latest'

Bu, ACR'ye oluşturulan ve gönderilen görüntünün ado-task-app-<build-id>-<build-number>olarak adlandırıldığı <container-app-name>-rg adlı yeni bir kaynak grubunda mytestacr.azurecr.io/app:latest adlı yeni bir Kapsayıcı Uygulaması oluşturur.

Gereksinim -leri

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalışır Agent, DeploymentGroup
Talepleri Hiç kimse
Özellikleri Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi
Ayarlanabilir değişkenleri Herhangi
Aracı sürümü 2.144.0 veya üzeri
Görev kategorisi Dağıtmak

Ayrıca bkz.