Membuat proyek Anda kompatibel dengan Azure Developer CLI

Azure Developer CLI (azd) memungkinkan pengembang untuk membuat perancah aplikasi mereka untuk cloud menggunakan templat yang dihosting di GitHub. Microsoft menyediakan beberapa templat untuk memulai. Dalam artikel ini, Anda mempelajari cara membuat aplikasi azd Anda sendiri kompatibel.

Memahami arsitektur templat

Diagram berikut memberikan gambaran umum singkat tentang proses untuk membuat azd templat:

Diagram of Azure Developer CLI template workflow.

Semua azd templat memiliki struktur file yang sama, berdasarkan azd konvensi. Hierarki berikut menunjukkan struktur direktori yang akan Anda bangun dalam tutorial 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]

Menginisialisasi templat

Perintah azd init ini digunakan untuk menginisialisasi aplikasi Anda untuk menyediakan dan menyebarkan sumber daya aplikasi di Azure. Perintah ini meminta Anda untuk memilih antara dua alur kerja yang berbeda untuk menginisialisasi templat yang diuraikan di bagian berikut.

  • Gunakan kode dalam direktori saat ini: Pilih opsi ini untuk menginstruksikan azd untuk menganalisis kode di direktori Anda ke identitas teknologi mana yang digunakannya, seperti bahasa pemrograman, kerangka kerja, dan sistem database. azd kemudian akan secara otomatis menghasilkan aset templat untuk Anda, seperti azure.yaml file definisi layanan dan infra folder dengan file infrastruktur sebagai kode.

  • Pilih templat: Pilih opsi ini untuk menggunakan templat yang sudah ada sebagai titik awal. Secara default, azd memungkinkan Anda menelusuri templat dari galeri AZD Yang Mengagumkan, tetapi Anda juga dapat mengonfigurasi galeri templat Anda sendiri. Saat Anda memilih templat, aset templat tersebut akan ditambahkan ke direktori proyek yang sudah ada.

Detail masing-masing alur kerja ini diuraikan dalam bagian di bawah ini.

  1. Anda dapat mengikuti langkah-langkah di depan menggunakan proyek Anda sendiri. Namun, jika Anda lebih suka mengikuti menggunakan aplikasi sampel, kloning repositori pemula berikut ke direktori kosong di komputer Anda:

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Buka alat baris perintah pilihan Anda ke direktori akar proyek.

  3. Jalankan azd init perintah untuk menginisialisasi templat.

    azd init
    
  4. Saat diminta, pilih opsi untuk Menggunakan kode di direktori saat ini. azd menganalisis proyek dan menyediakan ringkasan layanan yang terdeteksi dan sumber daya hosting Azure yang direkomendasikan.

  5. Pilih Konfirmasi dan lanjutkan menginisialisasi aplikasi saya. azd menghasilkan aset berikut dalam direktori akar proyek:

    • File azure.yaml dengan definisi layanan yang sesuai.
    • Folder infra dengan file infrastruktur sebagai kode untuk memprovisikan dan menyebarkan proyek ke Azure.
    • .azure Folder dengan variabel lingkungan yang .env diatur dalam file.

    Detail selengkapnya tentang proses deteksi dan pembuatan ini disediakan nanti di artikel.

  6. File yang dihasilkan berfungsi apa adanya untuk aplikasi sampel yang disediakan dan mungkin juga untuk aplikasi Anda sendiri. Jika perlu, file yang dihasilkan dapat dimodifikasi agar sesuai dengan kebutuhan Anda. Misalnya, Anda mungkin perlu memodifikasi lebih lanjut file infrastruktur sebagai kode di infra folder jika aplikasi Anda bergantung pada sumber daya Azure di luar yang diidentifikasi oleh azd.

  7. Jalankan azd up perintah untuk memprovisikan dan menyebarkan aplikasi Anda ke Azure.

    azd up
    
  8. Saat diminta, pilih langganan dan lokasi yang diinginkan untuk memulai proses provisi dan penyebaran.

  9. Saat proses selesai, klik tautan di azd output untuk membuka aplikasi di browser.

Menjelajahi langkah-langkah inisialisasi

Saat Anda memilih Gunakan kode di alur kerja direktori saat ini, azd init perintah menganalisis proyek Anda dan membuat kode secara otomatis berdasarkan apa yang ditemukannya. Bagian di bawah ini menjelaskan detail cara kerja proses ini dan teknologi mana yang saat ini didukung.

Detection

Perintah mendeteksi azd init file proyek untuk bahasa yang didukung yang terletak di direktori proyek dan subdirektori Anda. azd juga akan memindai dependensi paket untuk mengumpulkan informasi tentang kerangka kerja web atau database yang digunakan aplikasi Anda. Jika diperlukan, Anda dapat menambahkan atau mengedit komponen yang terdeteksi secara manual seperti yang disajikan dalam prompt ringkasan konfirmasi.

Logika deteksi saat ini adalah sebagai berikut:

  • Bahasa yang didukung:
    • Python
    • JavaScript/TypeScript
    • .NET
    • Java
  • Database yang didukung:
    • MongoDB
    • PostgreSQL
  • Untuk Python dan JavaScript/TypeScript, kerangka kerja web dan database terdeteksi secara otomatis.
  • Saat proyek JavaScript/TypeScript menggunakan kerangka kerja web front-end (atau sisi klien), proyek tersebut diklasifikasikan sebagai layanan front-end. Jika layanan Anda menggunakan kerangka kerja web front-end yang saat ini tidak terdeteksi, Anda dapat memilih JQuery untuk memberikan klasifikasi dan perilaku layanan front-end yang setara.

Generation

Setelah Anda mengonfirmasi komponen yang terdeteksi, azd init menghasilkan file infrastruktur sebagai kode yang diperlukan untuk menyebarkan aplikasi Anda ke Azure.

Logika pembuatannya adalah sebagai berikut:

  • Host yang didukung:
    • Azure Container Apps.
  • Untuk database, pemetaan yang didukung antara teknologi database dan layanan yang digunakan:
    • MongoDB: Api Azure CosmosDB untuk MongoDB
    • PostgreSQL: Server fleksibel Azure Database for PostgreSQL
    • Redis: Add-on Azure Container Apps Redis
  • Layanan yang menggunakan database akan memiliki variabel lingkungan yang menyediakan koneksi ke database yang telah dikonfigurasi sebelumnya secara default.
  • Ketika layanan front-end dan back-end terdeteksi, konfigurasi CORS pada host Azure untuk layanan back-end akan diperbarui untuk memungkinkan domain hosting default layanan front-end. Ini dapat dimodifikasi atau dihapus seperlunya dalam file konfigurasi Infrastruktur sebagai Kode.

Menambahkan dukungan untuk kontainer dev

Anda juga dapat membuat templat Anda kompatibel dengan kontainer pengembangan dan Codespace. Kontainer pengembangan memungkinkan Anda menggunakan kontainer sebagai lingkungan pengembangan berfungsi lengkap. Ini dapat digunakan untuk menjalankan aplikasi, untuk memisahkan alat, pustaka, atau runtime yang diperlukan untuk bekerja dengan basis kode, dan untuk membantu integrasi dan pengujian berkelanjutan. Kontainer dev dapat dijalankan secara lokal atau jarak jauh, di cloud privat atau publik. (Sumber: https://containers.dev/)

Untuk menambahkan dukungan untuk kontainer dev:

  1. Buat folder .devcontainer di akar proyek Anda.

  2. Buat devcontainer.json file di .devcontainer dalam folder dengan konfigurasi yang diinginkan. Templat azd pemula menyediakan file sampel devcontainer.json yang dapat Anda salin ke dalam proyek Anda dan memodifikasi sesuai kebutuhan.

Baca selengkapnya tentang bekerja dengan kontainer dev pada dokumentasi Visual Studio Code.

Menambahkan dukungan untuk alur CI/CD

Anda juga dapat menambahkan dukungan untuk CI/CD di templat Anda menggunakan tindakan GitHub atau Azure DevOps menggunakan langkah-langkah berikut:

  1. .github Tambahkan folder untuk tindakan GitHub atau .ado folder untuk Azure DevOps ke akar proyek Anda.

  2. Tambahkan file alur kerja ke folder baru. Templat azd pemula menyediakan file alur kerja Tindakan GitHub Sampel dan file Alur Azure DevOps Sampel untuk setiap platform yang dapat Anda salin ke dalam proyek Anda dan memodifikasi sesuai kebutuhan.

  3. Anda mungkin juga perlu memperbarui main.parameters.json file di folder Anda infra dengan variabel lingkungan yang diperlukan agar alur kerja Anda berjalan.

Mengonfigurasi alur CI/CD

Jika templat Anda menyertakan dukungan untuk GitHub Actions atau Azure Pipelines, Anda dapat mengonfigurasi alur CI/CD menggunakan langkah-langkah berikut:

  1. Jalankan perintah berikut untuk mendorong pembaruan ke repositori. Alur kerja GitHub Actions dipicu karena pembaruan.

    azd pipeline config    
    
  2. Menggunakan browser Anda, buka repositori GitHub untuk proyek Anda.

  3. Pilih Tindakan untuk melihat alur kerja berjalan.

Membersihkan sumber daya

Saat Anda tidak lagi memerlukan sumber daya yang dibuat dalam artikel ini, jalankan perintah berikut:

azd down

Baca juga

Meminta bantuan

Untuk informasi tentang cara mengajukan bug, meminta bantuan, atau mengusulkan fitur baru untuk Azure Developer CLI, silakan kunjungi halaman pemecahan masalah dan dukungan .

Langkah berikutnya