Ekinlikler
17 Mar 21 - 21 Mar 10
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.
Hemen kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Azure Container Apps, kapsayıcı uygulamanızda düzeltmeleri yayımlamak için Azure Pipelines'ı kullanmanıza olanak tanır. İşlemeler Azure DevOps deponuza gönderildiğinde, kapsayıcı kayıt defterindeki kapsayıcı görüntüsünü güncelleştiren bir işlem hattı tetiklenir. Azure Container Apps, güncelleştirilmiş kapsayıcı görüntüsünü temel alan yeni bir düzeltme oluşturur.
Deponuzdaki belirli bir dala yapılan işlemeler işlem hattını tetikler. İşlem hattını oluştururken tetikleyicinin hangi dal olduğuna siz karar verirsiniz.
Görev aşağıdaki senaryoları destekler:
Üretim sürümüyle birlikte bu görev Azure DevOps ile birlikte gelir ve artık açık yükleme gerektirmez. Tüm belgeler için bkz . AzureContainerApps@1 - Azure Container Apps Dağıtma v1 görevi.
Burada, görevi kullanmaya yönelik bazı yaygın senaryolar yer alır. Daha fazla bilgi için görevin belgelerine bakın.
Aşağıdaki kod parçacığında kaynak koddan bir kapsayıcı görüntüsünün nasıl derlenip Container Apps'e nasıl dağıtılacağı gösterilmektedir.
steps:
- task: AzureContainerApps@1
inputs:
appSourcePath: '$(Build.SourcesDirectory)/src'
azureSubscription: 'my-subscription-service-connection'
acrName: 'myregistry'
containerAppName: 'my-container-app'
resourceGroup: 'my-container-app-rg'
Görev, kapsayıcı görüntüsünü oluşturmak için içindeki appSourcePath
Dockerfile dosyasını kullanır. Dockerfile bulunamazsa, görev içindeki appSourcePath
kaynak kodundan kapsayıcı görüntüsünü oluşturmaya çalışır.
Aşağıdaki kod parçacığında, mevcut bir kapsayıcı görüntüsünün Container Apps'e nasıl dağıtılacağı gösterilmektedir. Görev, hizmet bağlantısını kullanarak kayıt defterinde kimlik doğrulaması yapar. Hizmet bağlantısının kimliğine kayıt defteri rolü atanmamışsa AcrPush
ve acrPassword
giriş parametrelerini kullanarak kayıt defterinin acrUsername
yönetici kimlik bilgilerini sağlayın.
steps:
- task: AzureContainerApps@1
inputs:
azureSubscription: 'my-subscription-service-connection'
containerAppName: 'my-container-app'
resourceGroup: 'my-container-app-rg'
imageToDeploy: 'myregistry.azurecr.io/my-container-app:$(Build.BuildId)'
Önemli
Ayrı bir adımda kapsayıcı görüntüsü oluşturuyorsanız gibi latest
kararlı bir etiket yerine derleme kimliği gibi benzersiz bir etiket kullandığınızdan emin olun. Daha fazla bilgi için bkz . Görüntü etiketi en iyi yöntemleri.
Kapsayıcı görüntüsünü göndermek için Azure Container Apps görevinin Azure Container Registry ile kimlik doğrulaması yapması gerekir. Kapsayıcı uygulamasının kapsayıcı görüntüsünü çekmek için Azure Container Registry'nizle de kimlik doğrulaması yapması gerekir.
Görüntüleri göndermek için, görev içinde sağlanan azureSubscription
hizmet bağlantısını kullanarak içinde acrName
belirtilen kapsayıcı kayıt defteriyle otomatik olarak kimlik doğrulaması yapar. Hizmet bağlantısının kimliğine kayıt defteri rolü atanmamışsa AcrPush
ve acrPassword
kullanarak acrUsername
kayıt defterinin yönetici kimlik bilgilerini sağlayın.
Görüntüleri çekmek için Azure Container Apps, Azure Container Registry ile kimlik doğrulaması yapmak için yönetilen kimlik (önerilen) veya yönetici kimlik bilgilerini kullanır. Yönetilen kimliği kullanmak için görevin hedef kapsayıcı uygulamasının yönetilen kimliği kullanacak şekilde yapılandırılması gerekir. Kayıt defterinin yönetici kimlik bilgileriyle kimlik doğrulaması yapmak için görevin acrUsername
ve acrPassword
girişlerini ayarlayın.
Azure Container Apps'e dağıtmak üzere bir Azure DevOps işlem hattı yapılandırmak için aşağıdaki adımları uygulayın.
AcrPull
Azure Container Registry rolünü kapsayıcı uygulamasının yönetilen kimliğine atamaGereksinim | Yönergeler |
---|---|
Azure hesabı | Hesabınız yoksa ücretsiz bir hesap oluşturun. Devam etmek için Azure aboneliğinde Katkıda Bulunan veya Sahip iznine sahip olmanız gerekir. Ayrıntılar için Bkz. Azure portalını kullanarak Azure rolleri atama. |
Azure DevOps projesi | Azure DevOps'a gidin ve Ücretsiz başlat'ı seçin. Ardından yeni bir proje oluşturun. |
Azure CLI | Azure CLI’yi yükleyin. |
İşlem hattı oluşturmadan önce uygulamanızın kaynak kodu bir depoda olmalıdır.
Depolar sayfasını açın.
Üst gezinti çubuğunda depolar açılan listesini ve ardından Depoyu içeri aktar'ı seçin.
Aşağıdaki bilgileri girin ve İçeri Aktar'ı seçin:
Alan | Değer |
---|---|
Depo türü | Git |
URL'yi kopyalama | https://github.com/Azure-Samples/containerapps-albumapi-csharp.git |
Ad | my-container-app |
Depo URL'sini görüntülemek ve kopyalamak için Kopyala'yı seçin.
Bir terminal açın ve aşağıdaki komutu çalıştırın:
git clone <REPOSITORY_URL> my-container-app
değerini kopyaladığınız URL ile değiştirin <REPOSITORY_URL>
.
Aşağıdaki adımlarla komutunu kullanarak az containerapp up
kapsayıcı uygulamanızı oluşturun. Bu komut Azure kaynaklarını oluşturur, kapsayıcı görüntüsünü oluşturur, görüntüyü bir kayıt defterinde depolar ve bir kapsayıcı uygulamasına dağıtır.
Uygulamanız oluşturulduktan sonra, uygulamanıza bir yönetilen kimlik ekleyebilir ve kimliğin AcrPull
kayıt defterinden görüntü çekmesine izin vermek için bu kimliği atayabilirsiniz.
Kopyalanan deponun src klasörüne geçin.
cd my-container-app
cd src
Komutuyla Azure kaynakları oluşturun ve bir kapsayıcı uygulaması dağıtın.az containerapp up
az containerapp up \
--name my-container-app \
--source . \
--ingress external
Komut çıkışında Azure Container Registry'nin adını not edin.
Kapsayıcı kayıt defterinin tam kaynak kimliğini alın.
az acr show --name <ACR_NAME> --query id --output tsv
<ACR_NAME>
değerini kayıt defterinizin adıyla değiştirin.
Kapsayıcı uygulaması için yönetilen kimliği etkinleştirin.
az containerapp identity assign \
--name my-container-app \
--resource-group my-container-app-rg \
--system-assigned
Komut çıkışında yönetilen kimliğin asıl kimliğini not edin.
AcrPull
Azure Container Registry rolünü kapsayıcı uygulamasının yönetilen kimliğine atayın.
az role assignment create \
--assignee <MANAGED_IDENTITY_PRINCIPAL_ID> \
--role AcrPull \
--scope <ACR_RESOURCE_ID>
değerini yönetilen kimliğin asıl kimliğiyle ve <ACR_RESOURCE_ID>
Azure Container Registry'nin kaynak kimliğiyle değiştirin<MANAGED_IDENTITY_PRINCIPAL_ID>
.
Azure Container Registry'den görüntü çekmek için kapsayıcı uygulamasını yönetilen kimliği kullanacak şekilde yapılandırın.
az containerapp registry set \
--name my-container-app \
--resource-group my-container-app-rg \
--server <ACR_NAME>.azurecr.io \
--identity system
değerini Azure Container Registry'nizin adıyla değiştirin <ACR_NAME>
.
Azure Container Apps'e dağıtmak için Azure aboneliğiniz için bir Azure DevOps hizmet bağlantısı oluşturmanız gerekir.
Azure DevOps'ta Proje ayarları'nı seçin.
Hizmet bağlantıları'nı seçin.
Yeni hizmet bağlantısı'nı seçin.
Azure Resource Manager'ı seçin.
Hizmet sorumlusu (otomatik) öğesini ve ardından İleri'yi seçin.
Aşağıdaki bilgileri girin ve Kaydet'i seçin:
Alan | Değer |
---|---|
Abonelik | Azure aboneliği seçin. |
Kaynak grubu | Kapsayıcı uygulamanızı ve kapsayıcı kayıt defterinizi içeren kaynak grubunu (my-container-app-rg ) seçin. |
Hizmet bağlantısı adı | my-subscription-service-connection |
Hizmet bağlantıları hakkında daha fazla bilgi edinmek için bkz . Microsoft Azure'a bağlanma.
Azure DevOps projenizde İşlem Hatları'yı seçin.
Yeni işlem hattı'ni seçin.
Azure Repos Git'i seçin.
Kaynak kodunuzu (my-container-app
) içeren depoyu seçin.
Başlangıç işlem hattı'ı seçin.
Düzenleyicide dosyanın içeriğini aşağıdaki YAML ile değiştirin:
trigger:
branches:
include:
- main
pool:
vmImage: ubuntu-latest
steps:
- task: AzureContainerApps@1
inputs:
appSourcePath: '$(Build.SourcesDirectory)/src'
azureSubscription: '<AZURE_SUBSCRIPTION_SERVICE_CONNECTION>'
acrName: '<ACR_NAME>'
containerAppName: 'my-container-app'
resourceGroup: 'my-container-app-rg'
değerini önceki adımda oluşturduğunuz Azure DevOps hizmet bağlantısının (my-subscription-service-connection
) adıyla ve <ACR_NAME>
Azure Container Registry'nizin adıyla değiştirin<AZURE_SUBSCRIPTION_SERVICE_CONNECTION>
.
Kaydet ve çalıştır'ı seçin.
Azure Pipelines çalıştırması kapsayıcı uygulamanızı derlemeye ve dağıtmaya başlar. İlerleme durumunu denetlemek için İşlem Hatları'na gidin ve çalıştırmayı seçin. İlk işlem hattı çalıştırması sırasında işlem hattına hizmet bağlantınızı kullanma yetkisi vermeniz istenebilir.
Uygulamanızın yeni bir düzeltmesini dağıtmak için ana dala yeni bir işleme gönderin.
Ekinlikler
17 Mar 21 - 21 Mar 10
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.
Hemen kaydolunEğitim
Modül
Azure Pipelines ile Docker kapsayıcı dağıtımlarını otomatikleştirme - Training
Docker kapsayıcılarını Azure App Service'e dağıtmak için Azure Pipelines'ı kullanın.
Sertifikasyon
Microsoft Sertifikalı: Azure Geliştirici İş Ortağı - Certifications
Azure İşlevleri oluşturmak, web uygulamalarını uygulamak ve yönetmek, Azure depolamayı kullanan çözümler geliştirmek ve daha fazlasını yapmak için Microsoft Azure'da uçtan uca çözümler oluşturun.
Belgeler
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.
Öğretici: Uygulamanızı derleme ve Azure Container Apps'e dağıtma
az containerapp create komutuyla uygulamanızı derleyin ve Azure Container Apps'e dağıtın.
AzureContainerApps@0 - Azure Container Apps Deploy v0 görevi
Azure Container Apps derlemek ve dağıtmak için bir Azure DevOps Görevi (görev sürümü 0).