Cara menyebarkan aplikasi poliglot dalam paket Azure Spring Apps Enterprise
Catatan
Paket Basic, Standard, dan Enterprise tidak digunakan lagi mulai pertengahan Maret 2025, dengan periode penghentian 3 tahun. Sebaiknya transisi ke Azure Container Apps. Untuk informasi selengkapnya, lihat pengumuman penghentian Azure Spring Apps.
Konsumsi Standar dan paket khusus akan ditolak mulai 30 September 2024, dengan pematian lengkap setelah enam bulan. Sebaiknya transisi ke Azure Container Apps. Untuk informasi selengkapnya, lihat Memigrasikan konsumsi Azure Spring Apps Standard dan paket khusus ke Azure Container Apps.
Artikel ini berlaku untuk:❌ Basic/Standard ✔️ Enterprise
Artikel ini memperlihatkan kepada Anda cara menyebarkan aplikasi poliglot dalam paket Azure Spring Apps Enterprise, dan bagaimana aplikasi poliglot ini dapat menggunakan fitur layanan build yang disediakan oleh buildpack.
Prasyarat
- Instans paket Azure Spring Apps Enterprise yang sudah disediakan. Untuk informasi selengkapnya, lihat Mulai Cepat: Membuat dan menyebarkan aplikasi ke Azure Spring Apps menggunakan paket Enterprise.
- Azure CLI versi 2.45.0 atau yang lebih tinggi. Gunakan perintah berikut untuk menginstal ekstensi Azure Spring Apps:
az extension add --name spring
Menyebarkan aplikasi poliglot dalam instans layanan
Bagian ini berlaku untuk membangun dan menyebarkan aplikasi poliglot saat layanan build diaktifkan. Jika menonaktifkan layanan build, Anda hanya dapat menyebarkan aplikasi dengan gambar kontainer kustom. Anda dapat membuat gambar Anda sendiri atau menggunakan gambar yang dibuat oleh instans Azure Spring Apps Enterprise. Untuk informasi selengkapnya, lihat Menyebarkan aplikasi dengan gambar kontainer kustom.
Mengelola penyusun
Saat membuat instans Azure Spring Apps Enterprise, Anda harus memilih penyusun default dari salah satu buildpack keluarga bahasa yang didukung berikut:
- Java Azure Buildpack untuk VMware Tanzu
- .NET Core Buildpack untuk VMware Tanzu
- Go Buildpack untuk VMware Tanzu
- Buildpack Server Web untuk VMware Tanzu
- Node.js Buildpack untuk VMware Tanzu
- Python Buildpack untuk VMware Tanzu
- Java Native Image Buildpack untuk VMware Tanzu
- PhP Buildpack untuk VMware Tanzu
Untuk informasi selengkapnya, lihat Language Family Buildpacks untuk VMware Tanzu.
Buildpack ini mendukung pembangunan dengan kode sumber atau artefak untuk aplikasi Java, .NET Core, Go, file statis web, Node.js, dan Python. Anda juga dapat melihat versi buildpack selama membuat atau melihat penyusun. Dan Anda dapat membuat penyusun kustom dengan menentukan buildpack dan tumpukan.
Semua penyusun yang dikonfigurasi dalam instans layanan Azure Spring Apps tercantum di halaman Build Service , seperti yang ditunjukkan pada cuplikan layar berikut:
Pilih Tambahkan untuk membuat penyusun baru. Cuplikan layar berikut menunjukkan sumber daya yang harus Anda gunakan untuk membuat penyusun kustom. Tumpukan OS mencakup Bionic Base
, Bionic Full
, Jammy Tiny
, Jammy Base
, dan Jammy Full
. Bionik didasarkan pada Ubuntu 18.04 (Bionic Beaver)
dan Jammy didasarkan pada Ubuntu 22.04 (Jammy Jellyfish)
. Untuk informasi selengkapnya, lihat bagian rekomendasi tumpukan OS.
Sebaiknya gunakan Jammy OS Stack
untuk membuat builder Anda karena VMware tidak digunakan lagi Bionic OS Stack
.
Anda juga dapat mengedit penyusun kustom saat penyusun tidak digunakan dalam penyebaran. Anda dapat memperbarui buildpack atau Tumpukan OS, tetapi nama penyusun bersifat baca-saja.
Penyusun adalah sumber daya yang terus berkontribusi pada penyebaran Anda. Ini menyediakan gambar runtime terbaru dan buildpack terbaru.
Anda tidak dapat menghapus penyusun saat penyebaran aktif yang ada sedang dibangun dengan penyusun. Untuk menghapus penyusun dalam status ini, gunakan langkah-langkah berikut:
- Simpan konfigurasi sebagai penyusun baru.
- Sebarkan aplikasi dengan penyusun baru. Penyebaran ditautkan ke penyusun baru.
- Migrasikan penyebaran di bawah penyusun sebelumnya ke penyusun baru.
- Hapus penyusun asli.
Rekomendasi tumpukan OS
Di Azure Spring Apps, sebaiknya gunakan Jammy OS Stack
untuk membuat penyusun Anda karena Bioinic OS Stack
sejalan dengan penghentian oleh VMware. Daftar berikut ini menjelaskan opsi yang tersedia:
Jammy Tiny: Cocok untuk membangun gambar minimal untuk ukuran sekecil mungkin dan jejak keamanan. Seperti membangun Java Native Image, itu dapat membuat gambar kontainer akhir lebih kecil. Pustaka terintegrasi terbatas. Misalnya, Anda tidak dapat terhubung ke instans aplikasi untuk pemecahan masalah karena tidak
shell
ada pustaka.- Sebagian besar aplikasi Go.
- Aplikasi Java. Beberapa opsi konfigurasi Apache Tomcat, seperti pengaturan bin/setenv.sh, tidak tersedia karena Tiny tidak memiliki shell.
Jammy Base: Cocok untuk sebagian besar aplikasi tanpa ekstensi asli.
- Aplikasi Java dan aplikasi .NET Core.
- Buka aplikasi yang memerlukan beberapa pustaka C.
- Node.js, Python, atau aplikasi Server Web tanpa ekstensi asli.
Jammy Full: Mencakup sebagian besar pustaka, dan cocok untuk aplikasi dengan ekstensi asli. Misalnya, ini mencakup pustaka font yang lebih lengkap. Jika aplikasi Anda bergantung pada ekstensi asli, gunakan
Full
tumpukan.- Node.js atau aplikasi Python dengan ekstensi asli.
Untuk informasi selengkapnya, lihat Tumpukan Ubuntu dalam dokumentasi VMware.
Mengelola registri kontainer
Bagian ini menunjukkan kepada Anda cara mengelola registri kontainer yang digunakan oleh layanan build jika Anda mengaktifkan layanan build dengan registri kontainer Anda sendiri. Jika Anda mengaktifkan layanan build dengan registri kontainer terkelola Azure Spring Apps, Anda dapat melewati bagian ini.
Setelah mengaktifkan registri kontainer pengguna dengan layanan build, Anda dapat menampilkan dan mengonfigurasi registri menggunakan portal Azure atau Azure CLI.
Gunakan langkah-langkah berikut untuk memperlihatkan, menambahkan, mengedit, dan menghapus registri kontainer:
Buka portal Microsoft Azure.
Pilih Registri kontainer di panel navigasi.
Pilih Tambahkan untuk membuat registri kontainer.
Untuk registri kontainer, pilih tombol elipsis (...), lalu pilih Edit untuk melihat konfigurasi registri.
Tinjau nilai pada halaman Edit registri kontainer.
Untuk menghapus registri kontainer, pilih tombol elipsis (...), lalu pilih Hapus untuk menghapus registri. Jika registri kontainer digunakan oleh layanan build, registri kontainer tidak dapat dihapus.
Layanan build dapat menggunakan registri kontainer, dan juga dapat mengubah registri kontainer terkait. Proses ini memakan waktu. Ketika perubahan terjadi, semua penyusun dan membangun sumber daya di bawah pembangunan ulang layanan build, lalu gambar kontainer akhir akan didorong ke registri kontainer baru.
Gunakan langkah-langkah berikut untuk mengalihkan registri kontainer yang terkait dengan layanan build:
Buka portal Microsoft Azure.
Pilih Build Service di panel navigasi.
Pilih Registri kontainer yang direferensikan untuk memperbarui registri kontainer untuk layanan build.
Membangun dan menyebarkan aplikasi poliglot
Anda dapat membangun dan menyebarkan aplikasi poliglot dengan cara berikut menggunakan registri kontainer:
Untuk layanan build menggunakan registri kontainer terkelola Azure Spring Apps, Anda dapat membuat aplikasi ke gambar lalu menyebarkannya ke instans layanan Azure Spring Apps saat ini. Build dan penyebaran dijalankan bersama-sama dengan menggunakan
az spring app deploy
perintah .Untuk layanan build menggunakan registri kontainer yang dikelola pengguna, Anda dapat membuat aplikasi ke dalam gambar kontainer lalu menyebarkan gambar ke instans Azure Spring Apps Enterprise saat ini dan instans lainnya. Perintah build dan deploy terpisah. Anda dapat menggunakan perintah build untuk membuat atau memperbarui build, lalu menggunakan perintah sebarkan untuk menyebarkan gambar kontainer ke instans layanan.
Untuk informasi selengkapnya, lihat bagian Bangun layanan sesuai permintaan dari Gunakan Tanzu Build Service.
Contoh berikut menunjukkan beberapa perintah build yang berguna untuk digunakan.
az configure --defaults group=<resource-group-name> spring=<service-name>
az spring build-service build list
az spring build-service build show --name <build-name>
az spring build-service build create --name <build-name> --artifact-path <artifact-path>
az spring build-service build update --name <build-name> --artifact-path <artifact-path>
az spring build-service build delete --name <build-name>
Contoh Azure CLI berikut menunjukkan pembuatan dan penyebaran file artefak untuk dua skenario registri kontainer:
- Registri kontainer terkelola Azure Spring Apps.
- Registri kontainer yang dikelola pengguna.
Contoh ini membangun dan menyebarkan dalam satu perintah. Perintah berikut menentukan penyusun untuk membangun aplikasi ke gambar kontainer, lalu menyebarkan aplikasi langsung ke instans layanan Azure Springs Apps Enterprise.
Jika Anda tidak menentukan penyusun, penyusun default
akan digunakan.
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--artifact-path <path-to-your-JAR-file>
Jika Anda menyebarkan aplikasi dengan file artefak, gunakan --artifact-path
untuk menentukan jalur file. File JAR dan WAR dapat diterima.
Jika Azure CLI mendeteksi paket WAR sebagai JAR tipis, gunakan --disable-validation
untuk menonaktifkan validasi.
Contoh berikut menyebarkan folder kode sumber ke penyebaran aktif dengan menggunakan --source-path
parameter untuk menentukan folder.
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--source-path <path-to-source-code>
Anda juga dapat mengonfigurasi lingkungan build untuk membangun aplikasi. Misalnya, dalam aplikasi Java, Anda dapat menentukan versi JDK menggunakan BP_JVM_VERSION
lingkungan build.
Untuk menentukan lingkungan build, gunakan --build-env
, seperti yang ditunjukkan dalam contoh berikut. Variabel lingkungan build yang tersedia dijelaskan nanti di artikel ini.
Perintah berikut menyebarkan aplikasi:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--build-env <key1=value1> <key2=value2> \
--builder <builder-name> \
--artifact-path <path-to-your-JAR-file>
Untuk setiap build, Anda juga dapat menentukan sumber daya build, seperti yang ditunjukkan dalam contoh berikut.
Perintah berikut menyebarkan aplikasi:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--build-env <key1=value1> <key2=value2> \
--build-cpu <build-cpu-size> \
--build-memory <build-memory-size> \
--builder <builder-name> \
--artifact-path <path-to-your-JAR-file>
Sumber daya CPU/memori build default adalah 1 vCPU, 2 Gi
. Jika aplikasi Anda membutuhkan jumlah memori yang lebih kecil atau lebih besar, maka gunakan --build-memory
untuk menentukan sumber daya memori - misalnya, , 500Mi
, 1Gi
2Gi
, dan sebagainya. Jika aplikasi Anda membutuhkan jumlah sumber daya CPU yang lebih kecil atau lebih besar, maka gunakan --build-cpu
untuk menentukan sumber daya CPU - misalnya, , 500m
, 1
2
, dan sebagainya. Batas sumber daya CPU/memori maksimum untuk build adalah 8 vCPU, 16Gi
.
Sumber daya CPU dan memori dibatasi oleh ukuran kumpulan agen layanan build. Untuk informasi selengkapnya, lihat bagian Build agent pool dari Use Tanzu Build Service. Jumlah kuota sumber daya build pemrosesan tidak boleh melebihi ukuran kumpulan agen.
Jumlah paralel tugas build tergantung pada ukuran kumpulan agen dan setiap sumber daya build. Misalnya, jika sumber daya build adalah default 1 vCPU, 2 Gi
dan ukuran kumpulan agen adalah 6 vCPU, 12 Gi
, maka nomor build paralel adalah 6.
Tugas build lainnya diblokir untuk sementara waktu karena keterbatasan kuota sumber daya.
Aplikasi Anda harus mendengarkan pada port 8080. Aplikasi Spring Boot mengambil SERVER_PORT
alih untuk menggunakan 8080 secara otomatis.
Bahasa yang didukung untuk penyebaran
Tabel berikut menunjukkan fitur yang didukung untuk setiap bahasa.
Fitur | Java | Python | Simpul | .NET Core | Go | File Statis | Gambar Asli Java | PHP |
---|---|---|---|---|---|---|---|---|
Manajemen siklus hidup aplikasi | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Tetapkan titik akhir | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Azure Monitor | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
Integrasi APM di luar kotak | ✔️ | |||||||
Penyebaran biru/hijau | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Domain kustom | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Penskalaan - penskalaan otomatis | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
Penskalaan - penskalaan manual (masuk/keluar, atas/bawah) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Identitas terkelola | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ️ | ✔️ |
Portal API untuk VMware Tanzu | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Spring Cloud Gateway untuk VMware Tanzu | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Layanan Konfigurasi Aplikasi untuk VMware Tanzu | ✔️ | ✔️ | ||||||
Registri Layanan VMware Tanzu | ✔️ | ✔️ | ||||||
App Live View untuk VMware Tanzu | ✔️ | ✔️ | ||||||
Jaringan virtual | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Alamat IP Keluar | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
E2E TLS | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pemecahan masalah tingkat lanjut - rangkaian/heap/JFR cadangan | ✔️ | |||||||
Membawa penyimpanan Anda sendiri | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Integrasikan pengikatan layanan dengan Konektor Sumber Daya | ✔️ | ✔️ | ||||||
Zona Ketersediaan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Peristiwa Siklus Hidup Aplikasi | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Mengurangi ukuran aplikasi - 0,5 vCPU dan 512 MB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Mengotomatiskan penerapan aplikasi dengan Terraform dan Azure Pipeline Task | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Penghapusan Sementara | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pengalaman diagnostik interaktif (berbasis AppLens) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
SLA | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Menyesuaikan pemeriksaan kesehatan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Koneksi shell web untuk pemecahan masalah | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ️ ✔️ | ✔️ |
Debug jarak jauh | ✔️ | ️ | ️ | ️ |
Untuk informasi selengkapnya tentang konfigurasi yang didukung untuk aplikasi bahasa yang berbeda, lihat bagian terkait nanti di artikel ini.
Batasan Gambar Asli Java
Native Image adalah teknologi untuk mengkompilasi kode Java sebelumnya ke executable asli. Gambar asli memberikan berbagai keuntungan, seperti startup instan dan konsumsi memori yang berkurang. Anda dapat mengemas gambar asli ke dalam gambar kontainer ringan untuk penyebaran yang lebih cepat dan lebih efisien. Karena Pengoptimalan Dunia Tertutup, batasan berikut berlaku:
- Fitur Java berikut memerlukan konfigurasi pada waktu build yang dapat dieksekusi:
- Pemuatan Kelas Dinamis
- Refleksi
- Proksi Dinamis
- JNI (Java Native Interface)
- Serialisasi
- Bytecode tidak tersedia saat runtime lagi, sehingga penelusuran kesalahan dan pemantauan dengan alat yang ditargetkan ke JVMTI tidak dimungkinkan.
Fitur berikut ini tidak didukung di Azure Spring Apps karena keterbatasan Java Native Image. Azure Spring Apps akan mendukungnya saat Java Native Image dan komunitas mengatasi batasan.
Fitur | Mengapa tidak didukung |
---|---|
Azure Monitor | Gambar asli yang dibuat GraalVM tidak mendukung metrik JVM. |
Penskalakan – penskalakan otomatis | Gambar asli yang dibuat GraalVM tidak mendukung metrik JVM. |
Integrasi APM siap pakai | Vendor & Buildpack APM tidak mendukung gambar asli. |
Identitas terkelola | Azure SDK tidak mendukung gambar asli. |
Pemecahan masalah tingkat lanjut – thread/heap/JFR dump | Gambar asli yang dibuat GraalVM tidak mendukung pembuangan utas/heap/JFR. |
Debug jarak jauh | Gambar Asli GraalVM tidak mendukung Penelusuran Kesalahan Jarak Jauh. |
Koneksi tanpa kata sandi menggunakan Konektor Layanan | Azure Java SDK tidak mendukung gambar asli. |
Catatan
Di bagian konfigurasi build dan penyebaran bahasa yang berbeda berikut, --build-env
berarti lingkungan digunakan dalam fase build. --env
berarti lingkungan digunakan dalam fase runtime.
Kami menyarankan agar Anda menentukan versi bahasa jika versi default berubah. Misalnya, gunakan --build-env BP_JVM_VERSION=11.*
untuk menentukan Java 11 sebagai versi JDK. Untuk bahasa lain, Anda bisa mendapatkan nama variabel lingkungan dalam deskripsi berikut untuk setiap bahasa.
Menyebarkan aplikasi Java
Buildpack untuk menyebarkan aplikasi Java adalah tanzu-buildpacks/java-azure.
Tabel berikut ini mencantumkan fitur yang didukung di Azure Spring Apps:
Deskripsi fitur | Komentar | Variabel lingkungan | Penggunaan |
---|---|---|---|
Menyediakan Microsoft OpenJDK. | Mengonfigurasi versi JVM. Versi JDK default adalah 17. Saat ini didukung: JDK 8, 11, 17, dan 21. | BP_JVM_VERSION |
--build-env BP_JVM_VERSION=11.* |
Env runtime. Mengonfigurasi apakah Java Native Memory Tracking (NMT) diaktifkan. Nilai defaultnya adalah benar. Tidak didukung di JDK 8. | BPL_JAVA_NMT_ENABLED |
--env BPL_JAVA_NMT_ENABLED=true |
|
Mengonfigurasi tingkat detail untuk output Java Native Memory Tracking (NMT). Nilai defaultnya adalah ringkasan. Atur ke detail untuk output NMT terperinci. | BPL_JAVA_NMT_LEVEL |
--env BPL_JAVA_NMT_ENABLED=summary |
|
Tambahkan sertifikat CA ke penyimpanan kepercayaan sistem saat build dan runtime. | Lihat bagian Mengonfigurasi sertifikat CA untuk build dan penyebaran aplikasi dari Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Integrasikan dengan Application Insights, Dynatrace, Elastic, New Relic, agen APM Dinamis Aplikasi. | Lihat Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Sebarkan paket WAR dengan Apache Tomcat atau TomEE. | Atur server aplikasi yang akan digunakan. Atur ke tomcat untuk menggunakan Tomcat dan tomee untuk menggunakan TomEE. Nilai defaultnya adalah tomcat. | BP_JAVA_APP_SERVER |
--build-env BP_JAVA_APP_SERVER=tomee |
Mendukung aplikasi Spring Boot. | Menunjukkan apakah akan berkontribusi dukungan Spring Cloud Bindings untuk gambar pada waktu build. Nilai default-nya adalah salah. | BP_SPRING_CLOUD_BINDINGS_DISABLED |
--build-env BP_SPRING_CLOUD_BINDINGS_DISABLED=false |
Menunjukkan apakah akan mengonfigurasi properti lingkungan Spring Boot secara otomatis dari pengikatan pada runtime. Fitur ini mengharuskan Pengikatan Spring Cloud telah diinstal pada waktu build atau tidak melakukan apa pun. Nilai default-nya adalah salah. | BPL_SPRING_CLOUD_BINDINGS_DISABLED |
--env BPL_SPRING_CLOUD_BINDINGS_DISABLED=false |
|
Mendukung pembangunan aplikasi berbasis Maven dari sumber. | Digunakan untuk proyek multi-modul. Menunjukkan modul untuk menemukan artefak aplikasi. Default ke modul akar (kosong). | BP_MAVEN_BUILT_MODULE |
--build-env BP_MAVEN_BUILT_MODULE=./gateway |
Mendukung pembuatan aplikasi berbasis Gradle dari sumber. | Digunakan untuk proyek multi-modul. Menunjukkan modul untuk menemukan artefak aplikasi. Default ke modul akar (kosong). | BP_GRADLE_BUILT_MODULE |
--build-env BP_GRADLE_BUILT_MODULE=./gateway |
Aktifkan konfigurasi label pada gambar yang dibuat. | Mengonfigurasi label yang ditentukan OCI dengan nama variabel lingkungan pendek dan label arbitrer menggunakan sintaks yang dibatasi spasi dalam satu variabel lingkungan. | BP_IMAGE_LABELS BP_OCI_AUTHORS Lihat variabel lingkungan lainnya di sini. |
--build-env BP_OCI_AUTHORS=<value> |
Mengintegrasikan agen JProfiler. | Menunjukkan apakah akan mengintegrasikan dukungan JProfiler. Nilai default-nya adalah salah. | BP_JPROFILER_ENABLED |
fase build: --build-env BP_JPROFILER_ENABLED=true Fase runtime: --env BPL_JPROFILER_ENABLED=true BPL_JPROFILER_PORT=<port> (opsional, default ke 8849) BPL_JPROFILER_NOWAIT=true (opsional. Menunjukkan apakah JVM dijalankan sebelum JProfiler terpasang. Nilai defaultnya adalah true.) |
Menunjukkan apakah akan mengaktifkan dukungan JProfiler pada runtime. Nilai default-nya adalah salah. | BPL_JPROFILER_ENABLED |
--env BPL_JPROFILER_ENABLED=false |
|
Menunjukkan port mana yang didengarkan agen JProfiler. Nilai defaultnya adalah 8849. | BPL_JPROFILER_PORT |
--env BPL_JPROFILER_PORT=8849 |
|
Menunjukkan apakah JVM dijalankan sebelum JProfiler terpasang. Nilai defaultnya adalah benar. | BPL_JPROFILER_NOWAIT |
--env BPL_JPROFILER_NOWAIT=true |
|
Mengintegrasikan agen JRebel . | Aplikasi harus berisi file rebel-remote.xml . | T/A | T/A |
AES mengenkripsi aplikasi pada waktu build lalu mendekripsinya pada waktu peluncuran. | Kunci AES yang akan digunakan pada waktu build. | BP_EAR_KEY |
--build-env BP_EAR_KEY=<value> |
Kunci AES yang akan digunakan pada waktu proses. | BPL_EAR_KEY |
--env BPL_EAR_KEY=<value> |
|
Mengintegrasikan agen AspectJ Weaver . | <APPLICATION_ROOT> / aop.xml ada dan aspekj-weaver.*.jar ada. |
T/A | T/A |
Menyebarkan aplikasi .NET
Buildpack untuk menyebarkan aplikasi .NET adalah tanzu-buildpacks/dotnet-core.
Tabel berikut ini mencantumkan fitur yang didukung di Azure Spring Apps:
Deskripsi fitur | Komentar | Variabel lingkungan | Penggunaan |
---|---|---|---|
Konfigurasikan versi runtime .NET Core. | Mendukung Net6.0, dan Net8.0. Anda dapat mengonfigurasi melalui file Proyek runtimeconfig.json atau MSBuild. Runtime default adalah 6.0.*. |
T/A | T/A |
Tambahkan sertifikat CA ke penyimpanan kepercayaan sistem saat build dan runtime. | Lihat bagian Mengonfigurasi sertifikat CA untuk build dan penyebaran aplikasi dari Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Integrasikan dengan agen APM Dynatrace dan New Relic. | Lihat Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Aktifkan konfigurasi label pada gambar yang dibuat. | Mengonfigurasi label yang ditentukan OCI dengan nama variabel lingkungan pendek dan label arbitrer menggunakan sintaks yang dibatasi spasi dalam satu variabel lingkungan. | BP_IMAGE_LABELS BP_OCI_AUTHORS Lihat variabel lingkungan lainnya di sini. |
--build-env BP_OCI_AUTHORS=<value> |
Menyebarkan aplikasi Python
Buildpack untuk menyebarkan aplikasi Python adalah tanzu-buildpacks/python.
Tabel berikut ini mencantumkan fitur yang didukung di Azure Spring Apps:
Deskripsi fitur | Komentar | Variabel lingkungan | Penggunaan |
---|---|---|---|
Tentukan versi Python. | Mendukung 3.8.*, 3.9.*, 3.10.*, 3.11.*, 3.12.*. Nilai defaultnya adalah 3.10.* Anda dapat menentukan versi melalui BP_CPYTHON_VERSION variabel lingkungan selama build. |
BP_CPYTHON_VERSION |
--build-env BP_CPYTHON_VERSION=3.8.* |
Tambahkan sertifikat CA ke penyimpanan kepercayaan sistem saat build dan runtime. | Lihat bagian Mengonfigurasi sertifikat CA untuk build dan penyebaran aplikasi dari Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Aktifkan konfigurasi label pada gambar yang dibuat. | Mengonfigurasi label yang ditentukan OCI dengan nama variabel lingkungan pendek dan label arbitrer menggunakan sintaks yang dibatasi spasi dalam satu variabel lingkungan. | BP_IMAGE_LABELS BP_OCI_AUTHORS Lihat variabel lingkungan lainnya di sini. |
--build-env BP_OCI_AUTHORS=<value> |
Menyebarkan aplikasi Go
Buildpack untuk menyebarkan aplikasi Go adalah tanzu-buildpacks/go.
Tabel berikut ini mencantumkan fitur yang didukung di Azure Spring Apps:
Deskripsi fitur | Komentar | Variabel lingkungan | Penggunaan |
---|---|---|---|
Tentukan versi Go. | Mendukung 1.21.*, 1.22.*. Nilai defaultnya adalah 1.21.*. Versi Go secara otomatis terdeteksi dari file go.mod aplikasi. Anda dapat mengambil alih versi ini dengan mengatur variabel lingkungan pada BP_GO_VERSION waktu build. |
BP_GO_VERSION |
--build-env BP_GO_VERSION=1.22.* |
Mengonfigurasi beberapa target. | Menentukan beberapa target untuk build Go. | BP_GO_TARGETS |
--build-env BP_GO_TARGETS=./some-target:./other-target |
Tambahkan sertifikat CA ke penyimpanan kepercayaan sistem saat build dan runtime. | Lihat bagian Mengonfigurasi sertifikat CA untuk build dan penyebaran aplikasi dari Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Integrasikan dengan agen Dynatrace APM. | Lihat Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Aktifkan konfigurasi label pada gambar yang dibuat. | Mengonfigurasi label yang ditentukan OCI dengan nama variabel lingkungan pendek dan label arbitrer menggunakan sintaks yang dibatasi spasi dalam satu variabel lingkungan. | BP_IMAGE_LABELS BP_OCI_AUTHORS Lihat variabel lingkungan lainnya di sini. |
--build-env BP_OCI_AUTHORS=<value> |
Menyebarkan aplikasi Node.js
Buildpack untuk menyebarkan aplikasi Node.js adalah tanzu-buildpacks/nodejs.
Tabel berikut ini mencantumkan fitur yang didukung di Azure Spring Apps:
Deskripsi fitur | Komentar | Variabel lingkungan | Penggunaan |
---|---|---|---|
Tentukan versi Node. | Mendukung 16.*, 18.*, 19.*, 20.*. Nilai defaultnya adalah 20.*. Anda dapat menentukan versi Node melalui file .nvmrc atau .node-version di akar direktori aplikasi. BP_NODE_VERSION mengesampingkan pengaturan. |
BP_NODE_VERSION |
--build-env BP_NODE_VERSION=20.* |
Tambahkan sertifikat CA ke penyimpanan kepercayaan sistem saat build dan runtime. | Lihat bagian Mengonfigurasi sertifikat CA untuk build dan penyebaran aplikasi dari Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Integrasikan dengan agen Dynatrace, Elastic, New Relic, App Dynamic APM. | Lihat Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Aktifkan konfigurasi label pada gambar yang dibuat. | Mengonfigurasi label yang ditentukan OCI dengan nama variabel lingkungan pendek dan label arbitrer menggunakan sintaks yang dibatasi spasi dalam satu variabel lingkungan. | BP_IMAGE_LABELS BP_OCI_AUTHORS Lihat variabel lingkungan lainnya di sini. |
--build-env BP_OCI_AUTHORS=<value> |
Sebarkan aplikasi Angular dengan Angular Live Development Server. | Tentukan host sebelum berjalan ng serve di package.json: ng serve --host 0.0.0.0 --port 8080 --public-host <your application domain name> . Nama domain aplikasi tersedia di halaman Gambaran Umum aplikasi, di bagian URL. Hapus protokol https:// sebelum melanjutkan. |
BP_NODE_RUN_SCRIPTS NODE_ENV |
--build-env BP_NODE_RUN_SCRIPTS=build NODE_ENV=development |
Menyebarkan aplikasi WebServer
Buildpack untuk menyebarkan aplikasi WebServer adalah tanzu-buildpacks/web-servers.
Untuk informasi selengkapnya, lihat Menyebarkan file statis web.
Menyebarkan aplikasi Java Native Image (pratinjau)
Buildpack untuk menyebarkan aplikasi Java Native Image adalah tanzu-buildpacks/java-native-image.
Anda dapat menyebarkan aplikasi gambar asli Spring Boot menggunakan buildpack tanzu-buildpacks/java-native-image
. Spring Native menyediakan dukungan untuk mengkompilasi aplikasi Spring Boot menjadi executable asli. Buildpack menggunakan Liberica Native Image Kit (NIK) untuk membuat gambar asli aplikasi Spring Boot dan aplikasi ini didukung sepenuhnya.
Saat Anda membangun Java Native Image, Anda harus mengatur lingkungan BP_NATIVE_IMAGE
build ke true
dan sumber daya memori build tidak boleh kurang dari 8Gi. Ukuran kumpulan agen layanan build tidak boleh kurang dari 4 vCPU, 8 Gi
. Untuk informasi selengkapnya, lihat bagian Build agent pool dari Use Tanzu Build Service.
Jika Anda ingin membangun gambar asli menjadi gambar kontainer ukuran yang lebih kecil, sebaiknya gunakan penyusun dengan Jammy Tiny
tumpukan OS. Untuk informasi selengkapnya, lihat bagian rekomendasi tumpukan OS.
Tabel berikut ini mencantumkan fitur yang didukung di Azure Spring Apps:
Deskripsi fitur | Komentar | Variabel lingkungan | Penggunaan |
---|---|---|---|
Integrasikan dengan Bellsoft OpenJDK. | Mengonfigurasi versi JDK. Saat ini didukung: JDK 8, 11, 17, dan 21. | BP_JVM_VERSION |
--build-env BP_JVM_VERSION=17 |
Konfigurasikan argumen untuk native-image perintah . |
Argumen untuk diteruskan langsung ke perintah gambar asli. Argumen ini harus valid dan terbentuk dengan benar atau perintah gambar asli gagal. | BP_NATIVE_IMAGE_BUILD_ARGUMENTS |
--build-env BP_NATIVE_IMAGE_BUILD_ARGUMENTS="--no-fallback" |
Tambahkan sertifikat CA ke penyimpanan kepercayaan sistem saat build dan runtime. | Lihat Cara mengonfigurasi integrasi APM dan sertifikat CA. | Tidak dapat diterapkan. | Tidak dapat diterapkan. |
Mengaktifkan konfigurasi label pada gambar yang dibuat | Mengonfigurasi label yang ditentukan OCI dengan nama variabel lingkungan pendek dan label arbitrer menggunakan sintaks yang dibatasi spasi dalam satu variabel lingkungan. | BP_IMAGE_LABELS BP_OCI_AUTHORS Lihat variabel lingkungan lainnya di sini. |
--build-env BP_OCI_AUTHORS=<value> |
Mendukung pembangunan aplikasi berbasis Maven dari sumber. | Digunakan untuk proyek multi-modul. Menunjukkan modul untuk menemukan artefak aplikasi. Default ke modul akar (kosong). | BP_MAVEN_BUILT_MODULE |
--build-env BP_MAVEN_BUILT_MODULE=./gateway |
Ada beberapa batasan untuk Java Native Image. Untuk informasi selengkapnya, lihat bagian Batasan Gambar Asli Java.
Menyebarkan aplikasi PHP
Buildpack untuk menyebarkan aplikasi PHP adalah tanzu-buildpacks/php.
Buildpack Tanzu PHP hanya kompatibel dengan Full OS Stack. Sebaiknya gunakan penyusun dengan Jammy Full
tumpukan OS. Untuk informasi selengkapnya, lihat bagian rekomendasi tumpukan OS.
Tabel berikut ini mencantumkan fitur yang didukung di Azure Spring Apps:
Deskripsi fitur | Komentar | Variabel lingkungan | Penggunaan |
---|---|---|---|
Tentukan versi PHP. | Mengonfigurasi versi PHP. Saat ini didukung: PHP 8.1.*, 8.2.*, dan 8.3.*. Nilai defaultnya adalah 8.1.* | BP_PHP_VERSION |
--build-env BP_PHP_VERSION=8.1.* |
Tambahkan sertifikat CA ke penyimpanan kepercayaan sistem saat build dan runtime. | Lihat bagian Mengonfigurasi sertifikat CA untuk build dan penyebaran aplikasi dari Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Integrasikan dengan agen Dynatrace, New Relic, App Dynamic APM. | Lihat Cara mengonfigurasi integrasi APM dan sertifikat CA. | T/A | T/A |
Pilih Server Web. | Opsi pengaturannya adalah php-server, httpd, dan nginx. Nilai defaultnya adalah php-server. | BP_PHP_SERVER |
--build-env BP_PHP_SERVER=httpd |
Mengonfigurasi Direktori Web. | Ketika server web adalah HTTPD atau NGINX, direktori web default ke htdocs. Ketika server web adalah server bawaan PHP, direktori web default ke /workspace. | BP_PHP_WEB_DIR |
--build-env BP_PHP_WEB_DIR=htdocs |