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.
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
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
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
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:
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.
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.
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.
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.
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.
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.
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.
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.