azd up Menjelajahi alur kerja

Azure Developer CLI (azd) memungkinkan Anda menyediakan dan menyebarkan sumber daya aplikasi di Azure hanya dengan satu perintah menggunakan azd up. Panduan ini menyediakan perincian azd up terperinci dan bagaimana berbagai tahap perintah alur kerja ini berkorelasi dengan struktur azd templat.

Ikuti langkah-langkah dengan menggunakan templat

Bagian berikut menggunakan contoh dari hello-azd templat untuk menunjukkan berbagai azd konsep dan pola. Anda dapat mengikuti dengan menginisialisasi templat di komputer lokal Anda:

azd init -t hello-azd

Untuk informasi selengkapnya tentang memulai azd dan templat hello-azd, kunjungi artikel Mulai Cepat: Mendistribusikan templat Azure Developer CLI.

Konsep penting

Saat bekerja dengan azd templat, Anda dapat memprovisikan dan menyebarkan sumber daya aplikasi di Azure menggunakan azd up perintah . Jalankan perintah dari jendela terminal yang terbuka untuk folder templat Anda:

azd up

azd up dirancang agar Anda dapat berulang kali menjalankan perintah saat mengembangkan aplikasi, dan perubahan baru disebarkan secara bertahap. Perintah ini memulai alur kerja kuat yang pada dasarnya membungkus tiga tahap tertentu:

  1. Kemasan: Menyiapkan kode aplikasi dan dependensi untuk penyebaran.
  2. Provisioning: Membuat dan mengonfigurasi sumber daya Azure yang diperlukan oleh aplikasi menggunakan file infrastruktur-kode.
  3. Penyebaran: Menyebarkan aplikasi paket ke sumber daya Azure yang disediakan.

Anda juga dapat menjalankan masing-masing tahap ini secara individual menggunakan perintah masing-masing, tetapi azd up menyediakan pembungkus kenyamanan untuk menyederhanakan proses keseluruhan. Setiap tahap memainkan peran penting dalam memastikan proses penyebaran yang lancar dan otomatis. Anda dapat memengaruhi azd up tahap alur kerja menggunakan konfigurasi dalam file templat azure.yaml . Bagian berikut menjelajahi setiap tahap secara lebih rinci.

Tahap pengemasan

Tahap pengemasan adalah langkah pertama dalam azd up alur kerja. Selama tahap ini:

  • Kode aplikasi disiapkan untuk penyebaran. Bergantung pada bahasa pemrograman yang dibangun aplikasi templat, kemasan dapat melibatkan pembuatan atau kompilasi aplikasi, bundling dependensi, atau pembuatan artefak penyebaran seperti gambar Docker.
  • Struktur azd templat biasanya menyertakan src folder tempat kode aplikasi berada. Membangun skrip atau file konfigurasi (seperti Dockerfile) dapat memengaruhi bagaimana aplikasi harus dikemas.
  • File azure.yaml berisi pemetaan konfigurasi yang memberi tahu azd tempat kode aplikasi Anda berada dan bahasa mana yang digunakannya sehingga azd dapat mengemasnya dengan tepat.
  • Tahap ini memastikan bahwa aplikasi dalam status yang dapat disebarkan sebelum pindah ke langkah berikutnya.

Anda dapat menjalankan proses pengemasan sendiri di luar azd up menggunakan azd package perintah :

azd package

Contoh konfigurasi pengemasan

azd dapat mengemas aplikasi yang dibangun dengan bahasa yang berbeda dengan cara yang berbeda. Misalnya, jika aplikasi Anda menggunakan pendekatan kontainer, azd templat mungkin menyertakan Dockerfile dalam direktori aplikasi src . Tahap pengemasan membangun gambar Docker untuk aplikasi berdasarkan file ini. Konfigurasi ini dikelola melalui azure.yaml file.

Misalnya, pertimbangkan struktur proyek dan konfigurasi hello-azd templat pemula berikut:

Cuplikan layar memperlihatkan tahap pengemasan azd up.

Pada gambar sebelumnya, berkas azure.yaml.

  • Menentukan kode dalam src direktori sebagai aplikasi C#.
  • Menentukan lokasi Dockerfile yang akan digunakan untuk membangun gambar kontainer aplikasi.

Saat Anda menjalankan azd up (atau azd package), Azure Developer CLI menggunakan kombinasi konfigurasi ini untuk membangun dan mengemas kode aplikasi di src direktori sebagai gambar kontainer .NET. Jika Dockerfile tidak dikonfigurasi, azd juga dapat mengemas aplikasi .NET menggunakan proses penerbitan .NET standar.

Tahap provisi

Tahap provisi membuat dan mengonfigurasi sumber daya Azure yang diperlukan untuk aplikasi Anda. Misalnya, aplikasi Anda mungkin memerlukan instans Azure App Service untuk menghosting aplikasi itu sendiri, dan Akun Azure Storage untuk menyimpan file yang diunggah. Tahap provisi menggunakan file infrastructure-as-code (IaC) yang disertakan dalam templat untuk menentukan sumber daya.

Beberapa poin penting untuk dipahami tentang tahap provisi meliputi:

  1. azd mendukung baik Bicep maupun Terraform untuk tugas infrastruktur-kode.
  2. Secara default, file infrastruktur sebagai kode disimpan dalam infra folder, tetapi lokasi ini dapat disesuaikan.
  3. azd mencari main.bicep atau file main.tf untuk bertindak sebagai file orkestrasi utama untuk proses IaC.

Cuplikan layar yang memperlihatkan tahap penyediaan azd up.

Anda juga dapat menjalankan sendiri proses provisi di luar azd up dengan menggunakan perintah azd provision.

azd provision

Contoh konfigurasi penyediaan

Di dalam folder infra, file main.bicep umumnya mendefinisikan sumber daya Azure yang harus dibuat oleh azd untuk aplikasi. Pertimbangkan cuplikan berikut dari main.bicep dalam templat pemula hello-azd :

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

Menggunakan kode Bicep sebelumnya, azd membuat sumber daya berikut:

  • Instans Azure Cosmos DB untuk menyimpan data yang dikirimkan melalui aplikasi
  • Akun Azure Storage untuk menyimpan gambar yang diunggah
  • Aplikasi Kontainer Azure untuk menghosting aplikasi

Tahap Implementasi

Tahap penyebaran adalah langkah terakhir dalam azd up alur kerja. Selama tahap ini:

  • Artefak aplikasi yang dibuat selama tahap pengemasan disebarkan ke sumber daya Azure yang disediakan.
  • azd menggunakan file konfigurasi dalam templat, seperti azure.yaml, untuk menentukan cara menyebarkan aplikasi.
  • Variabel lingkungan dan string koneksi dikonfigurasi untuk memastikan aplikasi dapat berinteraksi dengan sumber daya yang disediakan.

Anda juga dapat menjalankan proses penyebaran sendiri di luar azd up menggunakan azd deploy perintah :

azd deploy

Contoh konfigurasi penyebaran

azure.yaml Di dalam file, Anda dapat menentukan layanan mana dalam proyek Anda yang harus disebarkan ke sumber daya Azure mana. Misalnya, pertimbangkan konfigurasi berikut untuk templat pemula hello-azd :

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

Kode sebelumnya menginstruksikan azd untuk menyebarkan artefak yang dihasilkan dari kode di direktori src ke containerapp yang dibuat selama tahap penyediaan. Anda juga dapat menentukan beberapa layanan dan memetakan masing-masing ke host yang berbeda.

Kesimpulan

azd up Alur kerja menyederhanakan proses penyebaran aplikasi ke Azure dengan mengotomatiskan tahap pengemasan, provisi, dan penyebaran. Pengembang dapat memastikan proses penyebaran yang konsisten dan efisien dengan mematuhi azd struktur templat. Baik Anda menyebarkan aplikasi web sederhana atau arsitektur layanan mikro yang kompleks, perintah azd up membuat proses dari kode sampai ke cloud menjadi lebih mudah.