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.
Azure Container Apps menggunakan Buildpacks untuk membuat gambar kontainer secara otomatis yang dapat Anda gunakan untuk menyebarkan kode sumber Anda langsung ke cloud. Untuk mengontrol konfigurasi build Anda, gunakan 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. Layanan ini mendukung empat versi LTS JDK: 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.MFfile di JAR, tetapi menggunakan JDK default versi 17 jika versi yang ditentukan tidak tersedia.
Berikut adalah daftar variabel lingkungan yang dapat Anda gunakan 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 dapat Anda gunakan 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 atau patch tertentu, gunakan pembungkus Maven sebagai gantinya. | 3 |
BP_MAVEN_BUILD_ARGUMENTS |
Menentukan argumen yang diteruskan ke Maven. Argumen --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 menggunakan 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
Aplikasi Kontainer mendukung menjalankan file WAR di server aplikasi Tomcat.
Berikut adalah daftar variabel lingkungan yang dapat Anda gunakan 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 dapat Anda gunakan 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
Catatan
Untuk menjalankan perintah CLI berikut, gunakan versi ekstensi Container Apps atau yang 0.3.47 lebih tinggi.
az extension add --name containerapp --upgrade --allow-preview Gunakan perintah untuk menginstal versi terbaru.
Anda dapat mengonfigurasi variabel lingkungan build Java saat menyebarkan kode sumber aplikasi Java dengan menggunakan perintah az containerapp upCLI , , az containerapp createatau 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, dengan nilai yang dipisahkan spasi dalam format key=value. 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>