Cara menyebarkan aplikasi poliglot dalam paket Azure Spring Apps Enterprise

Catatan

Azure Spring Apps adalah nama baru untuk layanan Azure Spring Cloud. Meskipun layanan memiliki nama baru, Anda akan melihat nama lama di beberapa tempat untuk sementara saat kami berupaya memperbarui aset seperti cuplikan layar, video, dan diagram.

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

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:

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:

Cuplikan layar portal Azure yang memperlihatkan halaman Build Service dengan daftar Penyusun disorot.

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.

Cuplikan layar portal Azure yang memperlihatkan halaman Tambahkan Builder dengan TUmpukan OS dan nama buildpack yang dipilih disorot.

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.

Cuplikan layar portal Azure yang memperlihatkan halaman Build Service dengan tombol elipsis dan opsi menu Edit penyusun disorot.

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:

  1. Simpan konfigurasi sebagai penyusun baru.
  2. Sebarkan aplikasi dengan penyusun baru. Penyebaran ditautkan ke penyusun baru.
  3. Migrasikan penyebaran di bawah penyusun sebelumnya ke penyusun baru.
  4. 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:

  1. Buka portal Microsoft Azure.

  2. Pilih Registri kontainer di panel navigasi.

  3. Pilih Tambahkan untuk membuat registri kontainer.

    Cuplikan layar portal Azure yang memperlihatkan halaman Registri kontainer dengan tombol Tambahkan registri kontainer.

  4. Untuk registri kontainer, pilih tombol elipsis (...), lalu pilih Edit untuk melihat konfigurasi registri.

    Cuplikan layar portal Azure yang memperlihatkan halaman Registri kontainer.

  5. Tinjau nilai pada halaman Edit registri kontainer.

    Cuplikan layar portal Azure yang memperlihatkan halaman Registri kontainer dengan panel Edit registri kontainer terbuka.

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

    Cuplikan layar portal Azure yang memperlihatkan halaman Registri kontainer dengan panel Edit registri kontainer terbuka dan kotak Nama Pengguna dan Kata Sandi disorot.

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:

  1. Buka portal Microsoft Azure.

  2. Pilih Build Service di panel navigasi.

  3. Pilih Registri kontainer yang direferensikan untuk memperbarui registri kontainer untuk layanan build.

    Cuplikan layar portal Azure yang memperlihatkan halaman Build Service dengan registri kontainer yang direferensikan disorot.

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, 1Gi2Gi, 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, 12, 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 Koneksi or 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, Net7.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.20.*, 1.21.*. Nilai defaultnya adalah 1.20.*.
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.20.*
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=19.*
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 20. 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.*, dan 8.2.*. Nilai defaultnya adalah 8.1.* BP_PHP_VERSION --build-env BP_PHP_VERSION=8.0.*
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

Langkah berikutnya