Menambahkan dukungan Azure Developer CLI ke aplikasi Anda menggunakan templat yang sudah ada
Azure Developer CLI (azd
) menyediakan dua alur kerja yang berbeda untuk menginisialisasi templat untuk digunakan dengan aplikasi Anda, yang meliputi:
- Gunakan kode di direktori saat ini: Pendekatan ini menganalisis aplikasi Anda dan membuat otomatis infrastruktur dan sumber daya konfigurasi yang didukung.
- Pilih templat: Pendekatan ini memungkinkan Anda mengintegrasikan templat yang sudah ada dengan aplikasi Anda, atau menggunakan templat yang sudah ada sebagai titik awal untuk aplikasi baru.
Kedua pendekatan ini dieksplorasi dalam dokumen gambaran umum Buat templat Azure Developer CLI.
Dalam artikel ini, Anda mempelajari cara menambahkan dukungan untuk Azure Developer CLI (azd
) ke aplikasi Anda melalui pendekatan Pilih templat . azd
Kunjungi tambahkan dukungan ke aplikasi Anda menggunakan dokumen templat yang ada untuk informasi selengkapnya tentang pendekatan alternatif. Anda juga dapat mengunjungi templat Pelatihan - membangun dan menyebarkan azd
untuk informasi selengkapnya tentang membangun azd
templat.
Pilih templat untuk aplikasi Anda
Alur kerja Pilih templat dari azd init
perintah memungkinkan Anda memilih templat yang sudah ada azd
untuk digunakan sebagai titik awal. Konten templat yang dipilih ditambahkan ke direktori akar proyek Anda. Sebagian besar templat menyediakan sekumpulan azd
file dan folder yang diperlukan, dan banyak yang menyertakan file infrastruktur sebagai kode yang ditetapkan lengkap untuk memprovisikan sumber daya Azure untuk tumpukan aplikasi yang dipilih.
Dalam contoh ini, Anda akan menggunakan templat Starter - Bicep , yang mencakup struktur penting templat dan beberapa kode boilerplate yang azd
berguna untuk memulai. Templat pemula adalah pilihan yang bagus ketika Anda ingin membuat perancah struktur templat yang benar dan memulai sumber daya, tetapi masih menulis file infrastruktur Anda sendiri.
Untuk mengikuti langkah-langkah di depan menggunakan aplikasi sampel yang ada, kloning proyek pemula berikut ke direktori kosong di komputer Anda:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Di alat baris perintah pilihan Anda, navigasikan ke direktori akar proyek kloning.
Jalankan
azd init
perintah untuk menginisialisasiazd
templat.azd init
Saat diminta, pilih opsi untuk Memilih templat.
Dari daftar templat, pilih Starter - Bicep. Anda dapat mengetik nama templat atau menggunakan tombol panah keyboard untuk menemukannya.
Saat diminta, masukkan nama lingkungan singkat, seperti testenv.
Setelah Anda menjalankan
azd init
, aset berikut ditambahkan ke direktori Anda saat ini:├── .azdo [ Configures an Azure Pipeline ] ├── .devcontainer [ For DevContainer ] ├── .github [ Configures a GitHub workflow ] ├── .vscode [ VS Code workspace configurations ] ├── .azure [ Stores Azure configurations and environment variables ] ├── infra [ Contains infrastructure as code files ] │ ├── main.bicep/main.tf [ Main infrastructure file ] │ ├── main.parameters.json/main.tfvars.json [ Parameters file ] │ └── core/modules [ Contains reusable Bicep/Terraform modules ] └── azure.yaml [ Describes the app and type of Azure resources]
Memperbarui file Bicep
Proyek Anda sekarang berisi struktur inti dan aset azd
templat. Namun, untuk menyediakan sumber daya Azure untuk proyek spesifik Anda, file Bicep di infra
folder perlu diperbarui. Untuk menghosting aplikasi sampel, Anda harus menentukan sumber daya berikut menggunakan file Bicep:
- Paket Azure App Service
- Azure App Service yang berjalan di Linux
Buka direktori proyek akar di editor pilihan Anda, seperti Visual Studio Code.
main.bicep
Buka file diinfra
folder menggunakan editor Anda. File ini berisi kode boilerplate yang berguna untuk mengatur variabel penting, parameter, dan konvensi penamaan. Di bawah blok komentar di sekitar baris 50 yang berbunyiAdd resources to be provisioned below
, tambahkan Bicep berikut:// Creates an app service instance to host the app module web './core/host/appservice.bicep' = { name: 'web' scope: rg params: { name: '${abbrs.webSitesAppService}web-${resourceToken}' location: location tags: union(tags, { 'azd-service-name': 'web' }) appServicePlanId: appServicePlan.outputs.id runtimeName: 'python' runtimeVersion: '3.8' scmDoBuildDuringDeployment: true } } // Create an App Service Plan to group applications under the same payment plan and SKU module appServicePlan './core/host/appserviceplan.bicep' = { name: 'appserviceplan' scope: rg params: { name: '${abbrs.webServerFarms}${resourceToken}' location: location tags: tags sku: { name: 'B1' } } }
Catatan
- String unik dihasilkan berdasarkan ID langganan dan digunakan sebagai
${resourceToken}
variabel. Token ini ditambahkan ke nama semua sumber daya Azure yang dibuat olehazd
. azd
menggunakan tag untuk mengidentifikasi sumber daya sehingga Anda dapat memodifikasi nama berdasarkan konvensi penamaan organisasi Anda.- Tag
'azd-service-name': 'web'
pada layanan aplikasi adalah nilaiazd
yang digunakan untuk mengidentifikasi host penyebaran. Nilai harus sama dengan apa yang didefinisikan untuk layanan dalam file azure.yaml .
- String unik dihasilkan berdasarkan ID langganan dan digunakan sebagai
Memperbarui file azure.yaml
Untuk menyebarkan aplikasi, azd
perlu mengetahui lebih lanjut tentang aplikasi Anda. File azure.yaml
digunakan untuk menentukan lokasi kode sumber, bahasa, dan layanan hosting Azure untuk setiap layanan di aplikasi Anda. Untuk detail selengkapnya, lihat skema azure.yaml.
Buka di
azure.yaml
akar proyek.Tambahkan baris berikut ke bagian bawah file:
name: msdocs-python-flask-webapp-quickstart services: web: project: . language: py host: appservice
Memprovisikan dan menyebarkan templat
Simpan semua perubahan Anda dan jalankan perintah berikut untuk menyediakan dan menyebarkan sumber daya aplikasi di Azure:
azd up
Setelah perintah selesai, klik tautan dalam output perintah untuk menavigasi ke situs yang disebarkan.
Proyek Anda sekarang kompatibel dengan Azure Developer CLI dan dapat digunakan sebagai templat.
Catatan
azd
juga mendukung penggunaan Buildpack untuk membuat kontainer aplikasi Anda secara default. Jika templat Anda azd
menargetkan Azure Container Apps atau Azure Kubernetes Service tetapi tidak menyertakan file Docker, azd
secara otomatis menghasilkan gambar menggunakan Buildpack.