Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sistem hook Azure Developer CLI (azd) mendukung Python, JavaScript, TypeScript, dan .NET selain Bash dan PowerShell.
azd secara otomatis mendeteksi bahasa dari ekstensi file, mengelola dependensi, dan menjalankan skrip tanpa konfigurasi tambahan yang diperlukan.
Hooks memungkinkan Anda menjalankan logika kustom di titik kunci dalam siklus hidup azd, seperti sebelum provisioning, setelah penyebaran, dan lain sebagainya. Untuk informasi umum tentang hook, termasuk event hook dan opsi konfigurasi yang tersedia, lihat Menyesuaikan alur kerja menggunakan command dan event hook.
Prasyarat
- Menginstal azd
- Runtime untuk bahasa yang Anda pilih harus diinstal pada komputer Anda:
- Python: Python 3.x
- JavaScript/TypeScript: Node.js
- .NET: .NET SDK
Deteksi bahasa
Arahkan hook pada file skrip di azure.yaml, dan azd menyimpulkan bahasa dari ekstensi file. Jika ekstensi ambigu atau hilang, tentukan bahasa secara eksplisit dengan kind bidang :
hooks:
preprovision:
run: ./hooks/setup.py
kind: python # explicit — overrides extension inference
Pengait Python
Untuk menulis hook Python, buat sebuah .py file dan cantumkan dalam azure.yaml. Tempatkan requirements.txt atau pyproject.toml di direktori yang sama dengan skrip atau direktori induk.
azd berjalan di atas pohon direktori dari lokasi skrip untuk menemukan file proyek terdekat, membuat lingkungan virtual, menginstal dependensi, dan menjalankan skrip.
Contoh struktur direktori
hooks/
├── setup.py
└── requirements.txt
Konfigurasi contoh
hooks:
preprovision:
run: ./hooks/setup.py
Konfigurasi khusus Python
Gunakan blok config untuk mengganti nama default lingkungan virtual.
hooks:
preprovision:
run: ./hooks/setup.py
config:
virtualEnvName: .venv # override default naming
Hooks JavaScript dan TypeScript
Untuk menulis kait JavaScript atau TypeScript, buat file .js atau .ts dan referensikan di azure.yaml. Tempatkan package.json di direktori yang sama dengan skrip Anda atau direktori induk.
azd menjalankan npm install (atau manajer paket yang ditentukan dalam blok config) dan menjalankan skrip. Skrip TypeScript berjalan melalui npx tsx tanpa langkah kompilasi atau tsconfig.json diperlukan.
Contoh struktur direktori
hooks/
├── seed.ts
└── package.json
Konfigurasi contoh
hooks:
postdeploy:
run: ./hooks/seed.ts
Konfigurasi JavaScript dan TypeScript
config Gunakan blok untuk menentukan manajer paket pilihan.
hooks:
postdeploy:
run: ./hooks/seed.ts
config:
packageManager: pnpm # npm | pnpm | yarn
Pengait .NET
Dua mode didukung untuk kait .NET:
-
Mode proyek: Jika
.csproj,.fsproj, atau.vbprojada di direktori yang sama dengan skrip atau direktori induk,azdberjalandotnet restoredandotnet buildsecara otomatis. -
Mode file tunggal: Pada .NET 10+, file mandiri
.csberjalan langsung melaluidotnet run script.cstanpa file proyek.
Contoh struktur direktori
hooks/
├── migrate.cs
└── migrate.csproj # optional — omit for single-file mode on .NET 10+
Konfigurasi contoh
hooks:
postprovision:
run: ./hooks/migrate.cs
Konfigurasi khusus .NET
Tentukan konfigurasi build dan kerangka kerja target dengan menggunakan config blok:
hooks:
postprovision:
run: ./hooks/migrate.cs
config:
configuration: Release # Debug | Release
framework: net10.0 # target framework
Gantikan direktori kerja
Atur direktori kerja untuk hook dengan menggunakan bidang dir. Konfigurasi ini berguna ketika akar proyek berbeda dari lokasi skrip:
hooks:
preprovision:
run: main.py
dir: hooks/preprovision
Mencampur bahasa dan format
Gunakan bahasa yang berbeda untuk setiap hook dalam file yang sama azure.yaml. Anda juga dapat menggabungkan hook multi-bahasa dengan penimpaan khusus platform:
hooks:
preprovision:
run: ./hooks/setup.py
postdeploy:
run: ./hooks/seed.ts
postprovision:
run: ./hooks/migrate.cs
predeploy:
windows:
run: ./hooks/build.ps1
posix:
run: ./hooks/build.sh
Konten terkait
Minta bantuan
Untuk informasi tentang cara mengajukan bug, meminta bantuan, atau mengusulkan fitur baru untuk Azure Developer CLI, silakan kunjungi halaman troubleshooting dan dukungan.