azd up İş akışını keşfetme

Azure Geliştirici CLI'sı (azd), kullanarak azd upyalnızca tek bir komutla Azure'da uygulama kaynakları sağlamanızı ve dağıtmanızı sağlar. Bu kılavuz, bu iş akışı komutunun farklı aşamalarının azd up bir azd şablonun yapısıyla bağıntısının ayrıntılı bir dökümünü sağlar.

Şablon kullanarak takip etme

İlerideki bölümlerde, çeşitli hello-azd kavramları ve desenleri göstermek için şablondan azd örnekler kullanılır. Şablonu yerel makinenizde başlatarak takip edebilirsiniz:

azd init -t hello-azd

Başlamak için azd ve hello-azd şablonu hakkında daha fazla bilgi için Hızlı Başlangıç: Azure Geliştirici CLI şablonu dağıtma makalesini ziyaret edin.

Temel kavramlar

Şablonla azd çalışırken, komutunu kullanarak azd up Azure'da uygulama kaynaklarınızı sağlayabilir ve dağıtabilirsiniz. Şablon klasörünüzde açık olan bir terminal penceresinden komutunu çalıştırın:

azd up

azd up , uygulamanızı geliştirirken komutu tekrar tekrar çalıştırabilmeniz için tasarlanmıştır ve yeni değişiklikler artımlı olarak dağıtılır. komutu temelde üç belirli aşamayı sarmalayan güçlü bir iş akışı başlatır:

  1. Paketleme: Uygulama kodunu ve bağımlılıklarını dağıtım için hazırlar.
  2. Sağlama: Kod olarak altyapı dosyalarını kullanarak uygulamanın gerektirdiği Gerekli Azure kaynaklarını oluşturur ve yapılandırr.
  3. Dağıtım: Paketlenmiş uygulamayı sağlanan Azure kaynaklarına dağıtır.

Ayrıca, bu aşamaların her birini kendi komutlarını kullanarak tek tek çalıştırabilirsiniz, ancak azd up genel süreci kolaylaştırmak için bir kolaylık sarmalayıcı sağlar. Her aşama, sorunsuz ve otomatik dağıtım işleminin sağlanmasında kritik bir rol oynar. Şablon azd up dosyasındaki azure.yaml yapılandırmaları kullanarak iş akışı aşamalarını etkileyebilirsiniz. Aşağıdaki bölümlerde her aşama daha ayrıntılı olarak incelenecektir.

Paketleme aşaması

Paketleme aşaması, iş akışının azd up ilk adımıdır. Bu aşamada:

  • Uygulama kodu dağıtım için hazırlanmıştır. Şablon uygulamasının oluşturulduğu programlama diline bağlı olarak paketleme, uygulamayı derlemeyi veya derlemeyi, bağımlılıkları paketlemeyi veya Docker görüntüleri gibi dağıtım yapıtları oluşturmayı içerebilir.
  • Şablon azd yapısı genellikle uygulama kodunun bulunduğu klasörü src içerir. Derleme betikleri veya yapılandırma dosyaları (Dockerfile gibi) uygulamanın nasıl paketlenmesi gerektiğini etkileyebilir.
  • Dosya, azure.yaml uygulama kodunuzun nerede yaşadığını ve uygun şekilde paketlenebilmesi için azd hangi dili kullandığını belirten azd yapılandırma eşlemeleri içerir.
  • Bu aşama, sonraki adıma geçmeden önce uygulamanın dağıtılabilir durumda olmasını sağlar.

Paketleme işlemini azd up dışında, azd package komutunu kullanarak kendi başına çalıştırabilirsiniz.

azd package

Örnek paketleme yapılandırmaları

azd farklı dillerle oluşturulmuş uygulamaları farklı şekillerde paketleyebilir. Örneğin, uygulamanız kapsayıcılı bir yaklaşım kullanıyorsa şablon, azd uygulama Dockerfile dizinine bir src içerebilir. Paketleme aşaması, bu dosyayı temel alan uygulama için bir Docker görüntüsü oluşturur. Bu yapılandırmalar dosya üzerinden azure.yaml yönetilir.

Örneğin, başlangıç şablonunun aşağıdaki proje yapısını ve yapılandırmalarını hello-azd göz önünde bulundurun:

azd up'ın paketleme aşamasını gösteren ekran görüntüsü.

Önceki görüntüde, azure.yaml dosyası.

  • Dizindeki src kodu C# uygulaması olarak tanımlar.
  • Uygulamanın kapsayıcı görüntüsünü oluşturmak için kullanılacak Dockerfile konumunu belirtir.

(veyaazd up) çalıştırdığınızda azd package , Azure Geliştirici CLI'sı dizindeki src uygulama kodunu .NET kapsayıcı görüntüsü olarak derlemek ve paketlemek için bu yapılandırma birleşimini kullanır. Dockerfile yapılandırılmadıysa, azd standart .NET yayımlama işlemini kullanarak .NET uygulamasını da paketleyebilirsiniz.

Sağlama aşaması

Sağlama aşamasında uygulamanız için gerekli Azure kaynakları oluşturulur ve yapılandırılır. Örneğin, uygulamanız uygulamanın kendisini barındırmak için bir Azure App Service örneği ve karşıya yüklenen dosyaları barındırmak için bir Azure Depolama Hesabı gerektirebilir. Sağlama aşaması, kaynakları tanımlamak için şablonda yer alan kod olarak altyapı (IaC) dosyalarını kullanır.

Sağlama aşaması hakkında anlaşılması gereken bazı önemli noktalar şunlardır:

  1. azd kod olarak altyapı görevleri için hem Bicep'i hem de Terraform'ı destekler.
  2. Varsayılan olarak, kod olarak altyapı dosyaları klasörde depolanır infra , ancak bu konum özelleştirilebilir.
  3. azd IaC işleminin ana düzenleme dosyası olarak kullanılacak bir main.bicep veya main.tf dosyasını arar.

azd up'ın sağlama aşamasını gösteren ekran görüntüsü.

azd up dışında, azd provision komutunu kullanarak sağlama işlemini kendi başına da çalıştırabilirsiniz.

azd provision

Örnek sağlama yapılandırmaları

infra Klasörün içinde bir main.bicep dosya genellikle uygulama için oluşturması azd gereken Azure kaynaklarını tanımlar. Başlangıç şablonundaki main.bicep içinden hello-azd aşağıdaki kod parçasını göz önünde bulundurun.

// ...omitted code for other resource configurations

// Create an Azure Cosmos DB account
module cosmos 'app/cosmos.bicep' = {
  name: 'cosmos'
  scope: rg
  params: {
    userPrincipalId: principalId
    managedIdentityId: identity.outputs.principalId
  }
}

// Create a storage account
module storage './core/storage/storage-account.bicep' = {
  name: 'storage'
  scope: rg
  params: {
    name: !empty(storageAccountName) ? storageAccountName : '${abbrs.storageStorageAccounts}${resourceToken}'
    location: location
    tags: tags
    containers: [
      { name: 'attachments' }
    ]
  }
}

// Container apps environment and registry
module containerAppsEnv './core/host/container-apps.bicep' = {
  name: 'container-apps'
  scope: rg
  params: {
    name: 'app'
    containerAppsEnvironmentName: !empty(containerAppsEnvName) ? containerAppsEnvName : '${abbrs.appManagedEnvironments}${resourceToken}'
    containerRegistryName: !empty(containerRegistryName) ? containerRegistryName : '${abbrs.containerRegistryRegistries}${resourceToken}'
    location: location
  }
}

// ...omitted code for other resource configurations

Yukarıdaki Bicep kodunu azd kullanarak aşağıdaki kaynakları oluşturur:

  • Uygulama aracılığıyla gönderilen verileri depolamak için bir Azure Cosmos DB örneği
  • Yüklenen görüntüleri depolamak için bir Azure Depolama hesabı
  • Uygulamayı barındırmak için Azure Container Uygulaması

Dağıtım aşaması

Dağıtım aşaması, iş akışındaki azd up son adımdır. Bu aşamada:

  • Paketleme aşamasında oluşturulan uygulama yapıtları sağlanan Azure kaynaklarına dağıtılır.
  • azd , uygulamanın nasıl dağıtılacağına karar vermek için şablondaki gibi azure.yamlyapılandırma dosyalarını kullanır.
  • Ortam değişkenleri ve bağlantı dizeleri, uygulamanın sağlanan kaynaklarla etkileşime geçmek için yapılandırılır.

Dağıtım işlemini azd up dışında azd deploy komutunu kullanarak kendi başına da çalıştırabilirsiniz.

azd deploy

Örnek dağıtım yapılandırmaları

azure.yaml Dosyanın içinde, projenizdeki hangi hizmetin hangi Azure kaynağına dağıtılacağını belirtebilirsiniz. Örneğin, başlangıç şablonu için hello-azd aşağıdaki yapılandırmaları göz önünde bulundurun:

metadata:
  template: hello-azd-dotnet
name: azd-starter
services:
  aca:
    project: ./src # The location of the service source code
    language: csharp
    host: containerapp # The provisioned resource to deploy the service to
    docker:
      path: ./Dockerfile

Önceki kod, azd'a src klasöründeki koddan paketlenmiş yapıtları, sağlama aşamasında oluşturulan containerapp öğesine dağıtmasını talimat verir. Ayrıca birden çok hizmet tanımlayabilir ve her hizmeti farklı bir ana bilgisayarla eşleyebilirsiniz.

Sonuç

İş azd up akışı paketleme, sağlama ve dağıtım aşamalarını otomatikleştirerek uygulamaları Azure'a dağıtma sürecini kolaylaştırır. Geliştiriciler, şablon yapısına bağlı kalınarak azd tutarlı ve verimli bir dağıtım süreci sağlayabilir. basit bir web uygulaması veya karmaşık bir mikro hizmet mimarisi dağıtıyor olun, azd up komut koddan buluta yolculuğu basitleştirir.