Membangun variabel lingkungan untuk Java di Azure Container Apps
Azure Container Apps menggunakan Buildpacks untuk membuat gambar kontainer secara otomatis yang memungkinkan Anda menyebarkan dari kode sumber langsung ke cloud. Untuk mengontrol konfigurasi build, Anda dapat menggunakan variabel lingkungan untuk menyesuaikan bagian build Anda seperti JDK, Maven, dan Tomcat. Artikel berikut menunjukkan kepada Anda cara mengonfigurasi variabel lingkungan untuk membantu Anda mengambil kontrol atas build yang secara otomatis membuat kontainer untuk Anda.
Variabel lingkungan build Java yang didukung
Mengonfigurasi JDK
Aplikasi Kontainer menggunakan Microsoft Build of OpenJDK untuk membangun kode sumber dan sebagai lingkungan runtime. Empat versi LTS JDK didukung: 8, 11, 17 dan 21.
Untuk build kode sumber, versi defaultnya adalah JDK 17.
Untuk build file JAR, versi JDK dibaca dari lokasi
META-INF\MANIFEST.MF
file di JAR, tetapi menggunakan JDK default versi 17 jika versi yang ditentukan tidak tersedia.
Berikut adalah daftar variabel lingkungan yang digunakan untuk mengonfigurasi JDK:
Variabel lingkungan | Deskripsi | Default |
---|---|---|
BP_JVM_VERSION |
Mengontrol versi JVM. | 17 |
Mengonfigurasi Maven
Container Apps mendukung pembuatan aplikasi berbasis Maven dari sumber.
Berikut adalah daftar variabel lingkungan yang digunakan untuk mengonfigurasi Maven:
Membangun variabel lingkungan | Deskripsi | Default |
---|---|---|
BP_MAVEN_VERSION |
Mengatur versi Maven utama. Karena Buildpacks hanya mengirimkan satu versi dari setiap baris yang didukung, pembaruan pada buildpack dapat mengubah versi maven yang tepat yang diinstal. Jika Anda memerlukan Maven versi minor/patch tertentu, gunakan pembungkus Maven sebagai gantinya. | 3 |
BP_MAVEN_BUILD_ARGUMENTS |
Menentukan argumen yang diteruskan ke Maven. --batch-mode ditambahkan ke daftar argumen di lingkungan tanpa TTY. |
-Dmaven.test.skip=true --no-transfer-progress package |
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS |
Menentukan argumen tambahan yang digunakan (misalnya, -DskipJavadoc ditambahkan ke BP_MAVEN_BUILD_ARGUMENTS ) untuk diteruskan ke Maven. |
|
BP_MAVEN_ACTIVE_PROFILES |
Daftar profil aktif yang dipisahkan koma diteruskan ke Maven. | |
BP_MAVEN_BUILT_MODULE |
Menunjuk artefak aplikasi yang berisi modul. Secara default, build terlihat di modul akar. | |
BP_MAVEN_BUILT_ARTIFACT |
Lokasi artefak aplikasi bawaan. Nilai ini menggantikan BP_MAVEN_BUILT_MODULE variabel. Anda dapat mencocokkan satu file, beberapa file, atau direktori melalui satu atau beberapa pola yang dipisahkan spasi. |
target/*.[ejw]ar |
BP_MAVEN_POM_FILE |
Menentukan lokasi kustom ke file pom.xml proyek. Nilai ini relatif terhadap akar proyek (misalnya, /ruang kerja). | pom.xml |
BP_MAVEN_DAEMON_ENABLED |
Memicu penginstalan dan konfigurasi Apache maven-mvnd alih-alih Maven. Atur nilai ini ke true jika Anda ingin ke Maven Daemon. |
false |
BP_MAVEN_SETTINGS_PATH |
Menentukan lokasi kustom ke file settings.xml Maven. | |
BP_INCLUDE_FILES |
Daftar pola glob yang dipisahkan titik dua agar sesuai dengan file sumber. Setiap file yang cocok dipertahankan dalam gambar akhir. | |
BP_EXCLUDE_FILES |
Daftar pola glob yang dipisahkan titik dua agar sesuai dengan file sumber. Setiap file yang cocok dihapus dari gambar akhir. Pola apa pun termasuk diterapkan terlebih dahulu, dan Anda dapat menggunakan "mengecualikan pola" untuk mengurangi file yang disertakan dalam build. | |
BP_JAVA_INSTALL_NODE |
Mengontrol apakah Buildpack terpisah menginstal Yarn dan Node.js atau tidak. Jika diatur ke true , Buildpack memeriksa akar aplikasi atau jalur yang diatur oleh BP_NODE_PROJECT_PATH . Jalur proyek mencari file yarn.lock , yang memerlukan penginstalan Yarn dan Node.js. Jika ada file package.json , build hanya memerlukan Node.js. |
false |
BP_NODE_PROJECT_PATH |
Arahkan subdirektori proyek untuk mencari file package.json dan yarn.lock . |
Mengonfigurasi Tomcat
Container Apps mendukung menjalankan file perang di server aplikasi Tomcat.
Berikut adalah daftar variabel lingkungan yang digunakan untuk mengonfigurasi Tomcat:
Membangun variabel lingkungan | Deskripsi | Default |
---|---|---|
BP_TOMCAT_CONTEXT_PATH |
Jalur konteks tempat aplikasi dipasang. | Default ke kosong (ROOT ) |
BP_TOMCAT_EXT_CONF_SHA256 |
Hash SHA256 dari paket konfigurasi eksternal. | |
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED |
Saat diatur ke true , Buildpack tidak mengonfigurasi org.apache.tomcat.util.digester.EnvironmentPropertySource . Opsi konfigurasi ini ditambahkan untuk mendukung konfigurasi pemuatan dari variabel lingkungan dan mereferensikannya dalam file konfigurasi Tomcat. |
|
BP_TOMCAT_EXT_CONF_STRIP |
Jumlah tingkat direktori yang akan dilucuti dari paket konfigurasi eksternal. | 0 |
BP_TOMCAT_EXT_CONF_URI |
URI unduhan paket konfigurasi eksternal. | |
BP_TOMCAT_EXT_CONF_VERSION |
Versi paket konfigurasi eksternal. | |
BP_TOMCAT_VERSION |
Digunakan untuk mengonfigurasi versi Tomcat tertentu. Versi Tomcat yang didukung mencakup 8, 9, dan 10. | 9.* |
Mengonfigurasi Cloud Build Service
Berikut adalah daftar variabel lingkungan yang digunakan untuk mengonfigurasi Cloud Build Service:
Membangun variabel lingkungan | Deskripsi | Default |
---|---|---|
ORYX_DISABLE_TELEMETRY |
Mengontrol apakah akan menonaktifkan pengumpulan telemetri atau tidak. | false |
Cara mengonfigurasi variabel lingkungan build Java
Anda dapat mengonfigurasi variabel lingkungan build Java saat menyebarkan kode sumber aplikasi Java melalui perintah az containerapp up
CLI , , az containerapp create
atau az containerapp update
:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--source <SOURCE_DIRECTORY> \
--build-env-vars <NAME=VALUE NAME=VALUE> \
--resource-group <RESOURCE_GROUP_NAME> \
--environment <ENVIRONMENT_NAME>
Argumen build-env-vars
adalah daftar variabel lingkungan untuk build, nilai yang dipisahkan spasi dalam key=value
format. Berikut adalah daftar contoh yang dapat Anda teruskan sebagai variabel:
BP_JVM_VERSION=21 BP_MAVEN_VERSION=4 "BP_MAVEN_BUILD_ARGUMENTS=-Dmaven.test.skip=true --no-transfer-progress package"
Anda juga dapat mengonfigurasi variabel lingkungan build Java saat menyiapkan GitHub Actions dengan Azure CLI di Azure Container Apps.
az containerapp github-action add \
--repo-url "https://github.com/<OWNER>/<REPOSITORY_NAME>" \
--build-env-vars <NAME=VALUE NAME=VALUE> \
--branch <BRANCH_NAME> \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--registry-url <URL_TO_CONTAINER_REGISTRY> \
--registry-username <REGISTRY_USER_NAME> \
--registry-password <REGISTRY_PASSWORD> \
--service-principal-client-id <appId> \
--service-principal-client-secret <password> \
--service-principal-tenant-id <tenant> \
--token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk