Azure Container Apps'te Java için ortam değişkenleri oluşturma (önizleme)
Azure Container Apps, kaynak kodunuzdan doğrudan buluta dağıtım yapmanızı sağlayan bir kapsayıcı görüntüsünü otomatik olarak oluşturmak için Buildpacks'i kullanır. Derleme yapılandırmanızın denetimini almak için ortam değişkenlerini kullanarak derlemenizin JDK, Maven ve Tomcat gibi bölümlerini özelleştirebilirsiniz. Aşağıdaki makalede, sizin için otomatik olarak kapsayıcı oluşturan derlemeler üzerinde denetim sahibi olmanıza yardımcı olmak için ortam değişkenlerini nasıl yapılandıracağınız gösterilmektedir.
Desteklenen Java derleme ortamı değişkenleri
JDK'yi yapılandırma
Container Apps, kaynak kodu oluşturmak ve çalışma zamanı ortamı olarak OpenJDK'nin Microsoft Derlemesini kullanır. Dört LTS JDK sürümü desteklenir: 8, 11, 17 ve 21.
Kaynak kodu derlemesi için varsayılan sürüm JDK 17'dir.
JAR dosyası derlemesi için JDK sürümü JAR'daki dosya konumundan
META-INF\MANIFEST.MF
okunur, ancak belirtilen sürüm kullanılamıyorsa varsayılan JDK sürüm 17'yi kullanır.
JDK'yi yapılandırmak için kullanılan ortam değişkenlerinin listesi aşağıdadır:
Ortam değişkeni | Açıklama | Varsayılan |
---|---|---|
BP_JVM_VERSION |
JVM sürümünü denetler. | 17 |
Maven'ı yapılandırma
Container Apps, kaynaktan Maven tabanlı uygulamalar derlemeyi destekler.
Maven'ı yapılandırmak için kullanılan ortam değişkenlerinin listesi aşağıdadır:
Ortam değişkeni oluşturma | Açıklama | Varsayılan |
---|---|---|
BP_MAVEN_VERSION |
Ana Maven sürümünü ayarlar. Buildpack'ler desteklenen her satırın yalnızca tek bir sürümünü yüklediğinden, derleme paketindeki güncelleştirmeler Maven'ın yüklü tam sürümünü değiştirebilir. Maven'in belirli bir ikincil/yama sürümüne ihtiyacınız varsa, bunun yerine Maven sarmalayıcısını kullanın. | 3 |
BP_MAVEN_BUILD_ARGUMENTS |
Maven'a geçirilen bağımsız değişkenleri tanımlar. --batch-mode , TTY içermeyen ortamlarda bağımsız değişken listesine eklenir. |
-Dmaven.test.skip=true --no-transfer-progress package |
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS |
Maven'a geçirmek için kullanılan ek bağımsız değişkenleri (örneğin, -DskipJavadoc sonuna BP_MAVEN_BUILD_ARGUMENTS eklenir) tanımlar. |
|
BP_MAVEN_ACTIVE_PROFILES |
Maven'a geçirilen etkin profillerin virgülle ayrılmış listesi. | |
BP_MAVEN_BUILT_MODULE |
Modülü içeren uygulama yapıtını gösterir. Varsayılan olarak, derleme kök modülde görünür. | |
BP_MAVEN_BUILT_ARTIFACT |
Yerleşik uygulama yapıtı konumu. Bu değer değişkenin yerini alır BP_MAVEN_BUILT_MODULE . Tek bir dosyayı, birden çok dosyayı veya dizini bir veya daha fazla boşlukla ayrılmış desenler aracılığıyla eşleştirebilirsiniz. |
target/*.[ejw]ar |
BP_MAVEN_POM_FILE |
Projenin pom.xml dosyasının özel konumunu belirtir. Bu değer projenin köküne göredir (örneğin, /workspace). | pom.xml |
BP_MAVEN_DAEMON_ENABLED |
Maven yerine Apache maven-mvnd yüklemesini ve yapılandırmasını tetikler. Maven Daemon'ı kullanmak istiyorsanız bu değeri true olarak ayarlayın. |
false |
BP_MAVEN_SETTINGS_PATH |
Maven'ın settings.xml dosyasının özel konumunu belirtir. | |
BP_INCLUDE_FILES |
Kaynak dosyaları eşleştirmek için glob desenlerinin iki nokta üst üste ayrılmış listesi. Eşleşen tüm dosyalar son görüntüde tutulur. | |
BP_EXCLUDE_FILES |
Kaynak dosyaları eşleştirmek için glob desenlerinin iki nokta üst üste ayrılmış listesi. Eşleşen tüm dosyalar son görüntüden kaldırılır. Tüm ekleme desenleri önce uygulanır ve derlemeye dahil edilen dosyaları azaltmak için "dışlama desenlerini" kullanabilirsiniz. | |
BP_JAVA_INSTALL_NODE |
Ayrı bir Buildpack'in Yarn ve Node.js yükleyip yüklemediğini kontrol edin. olarak ayarlanırsa true , Buildpack tarafından BP_NODE_PROJECT_PATH ayarlanan uygulama kökünü veya yolunu denetler. Proje yolu, Yarn ve Node.js yüklenmesini gerektiren yarn.lock dosyasını arar. package.json bir dosya varsa derleme yalnızca Node.js gerektirir. |
false |
BP_NODE_PROJECT_PATH |
proje alt dizinini package.json ve yarn.lock dosyalarını aramaya yönlendirin. |
Tomcat'i yapılandırma
Container Apps, Tomcat uygulama sunucusunda savaş dosyası çalıştırmayı destekler.
Tomcat'i yapılandırmak için kullanılan ortam değişkenlerinin listesi aşağıdadır:
Ortam değişkeni oluşturma | Açıklama | Varsayılan |
---|---|---|
BP_TOMCAT_CONTEXT_PATH |
Uygulamanın bağlandığı bağlam yolu. | Varsayılan olarak boş (ROOT ) olur |
BP_TOMCAT_EXT_CONF_SHA256 |
Dış yapılandırma paketinin SHA256 karması. | |
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED |
olarak true ayarlandığında Buildpack yapılandırılmaz org.apache.tomcat.util.digester.EnvironmentPropertySource . Bu yapılandırma seçeneği, ortam değişkenlerinden yapılandırma yüklemeyi ve Bunlara Tomcat yapılandırma dosyalarında başvurmayı desteklemek için eklenir. |
|
BP_TOMCAT_EXT_CONF_STRIP |
Dış yapılandırma paketinden çıkarıla dizin düzeylerinin sayısı. | 0 |
BP_TOMCAT_EXT_CONF_URI |
Dış yapılandırma paketinin indirme URI'si. | |
BP_TOMCAT_EXT_CONF_VERSION |
Dış yapılandırma paketinin sürümü. | |
BP_TOMCAT_VERSION |
Belirli bir Tomcat sürümünü yapılandırmak için kullanılır. Desteklenen Tomcat sürümleri 8, 9 ve 10'dır. | 9.* |
Bulut Derleme Hizmetini Yapılandırma
Bulut Derleme Hizmeti'ni yapılandırmak için kullanılan ortam değişkenlerinin listesi aşağıdadır:
Ortam değişkeni oluşturma | Açıklama | Varsayılan |
---|---|---|
ORYX_DISABLE_TELEMETRY |
Telemetri koleksiyonunun devre dışı bırakılıp bırakılmayacağını denetler. | false |
Java derleme ortamı değişkenlerini yapılandırma
Not
Aşağıdaki CLI komutlarını çalıştırmak için Container Apps uzantısı sürümünü 0.3.47
veya üzerini kullanın. az extension add --name containerapp --upgrade --allow-preview
En son sürümü yüklemek için komutunu kullanın.
Java uygulama kaynak kodunu CLI komutu az containerapp up
, az containerapp create
veya az containerapp update
aracılığıyla dağıttığınızda Java derleme ortamı değişkenlerini yapılandırabilirsiniz:
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>
build-env-vars
Bağımsız değişken, biçim olarak boşlukla ayrılmış derleme değerleri için ortam değişkenlerinin key=value
listesidir. Aşağıda değişken olarak geçirebileceğiniz örnek bir liste verilmiştir:
BP_JVM_VERSION=21 BP_MAVEN_VERSION=4 "BP_MAVEN_BUILD_ARGUMENTS=-Dmaven.test.skip=true --no-transfer-progress package"
Azure Container Apps'te Azure CLI ile GitHub Actions'ı ayarlarken Java derleme ortamı değişkenlerini de yapılandırabilirsiniz.
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>