В этой записи блога я опишу, как развернуть приложение CloudEE Duke, упакованное в пакет Liberty, в Oracle Application Container Cloud .
Артефакт развертывания, необходимый для развертывания в Oracle Application Container Cloud, представляет собой ZIP-архив, содержащий приложение über-jar и файл манифеста (manifest.json). Версия Liberty файла manifest.json для CloudEE Duke приведена ниже.
manifest.json
01
02
03
04
05
06
07
08
09
10
11
12
|
{ "runtime" : { "majorVersion" : "8" }, "command" : "java -jar cloudee-duke.jar" , "release" : { "version" : "1.0" , "build" : "1" , "commit" : "123" }, "notes" : "Dukes says hello from Liberty" } |
Вам нужно указать порт для использования Liberty. Это можно сделать, настроив его в файле server.xml с помощью переменной среды $ {env.PORT}, как показано здесь:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
|
< server description = "Sample Liberty server" > < featureManager > < feature >microprofile-1.2</ feature > </ featureManager > < httpEndpoint httpPort = "${env.PORT}" httpsPort = "9443" id = "defaultHttpEndpoint" host = "*" /> < quickStartSecurity userName = "duke" userPassword = "duke" /> < keyStore id = "defaultKeyStore" password = "Liberty" /> </ server > |
Über-jar создается с использованием комбинации плагина Maven Resources и плагина Liberty Maven:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
< plugin > < groupId >org.apache.maven.plugins</ groupId > < artifactId >maven-resources-plugin</ artifactId > < version >3.0.2</ version > < executions > < execution > < id >copy-app</ id > < phase >package</ phase > < goals > < goal >copy-resources</ goal > </ goals > < configuration > < outputDirectory >${project.build.directory}/liberty/wlp/usr/servers/defaultServer/dropins</ outputDirectory > < resources > < resource > < directory >${project.build.directory}</ directory > < includes > < include >${project.build.finalName}.war</ include > </ includes > </ resource > </ resources > </ configuration > </ execution > </ executions > </ plugin > < plugin > < groupId >net.wasdev.wlp.maven.plugins</ groupId > < artifactId >liberty-maven-plugin</ artifactId > < version >2.2</ version > < extensions >true</ extensions > < configuration > < install > < type >webProfile7</ type > < version >2018.+</ version > </ install > < configFile >${basedir}/src/main/liberty/config/server.xml</ configFile > < serverEnv >${basedir}/src/main/liberty/config/server.env</ serverEnv > < jvmOptionsFile >${basedir}/src/main/liberty/config/jvm.options</ jvmOptionsFile > < packageFile >${project.build.directory}/${project.build.finalName}.jar</ packageFile > < include >runnable</ include > </ configuration > < executions > < execution > < id >install-liberty</ id > < phase >prepare-package</ phase > < goals > < goal >install-server</ goal > </ goals > </ execution > < execution > < id >package-app</ id > < phase >package</ phase > < goals > < goal >package-server</ goal > </ goals > </ execution > </ executions > </ plugin > |
См. Полный файл pom.xml для примера того, как создать развертываемый ZIP-архив с помощью команды maven:
1
|
mvn clean package assembly:single -Pliberty |
Это создаст файл с именем cloudee-duke-oracle-liberty.zip в целевой папке. Это ZIP-архив, который вы развернете в Oracle Application Container Cloud, как показано на снимке экрана ниже.
Когда ваше приложение развернуто, вы должны иметь доступ к конечной точке приветствия
1
|
https: // <dependsonyouraccount>.oraclecloud.com /helloZ |
Герцог говорит привет!
У вас также будут конечные точки работоспособности и показателей, предоставляемые реализацией MicroProfile.
1
|
https: // <dependsonyouraccount>.oraclecloud.com /health |
{
результат: «UP»,
проверяет: []}
1
|
https: // <dependsonyouraccount>.oraclecloud.com /metrics |
# TYPE base: classloader_total_loaded_class_count counter
# HELP base: classloader_total_loaded_class_count Отображает общее количество классов, которые были загружены с момента запуска виртуальной машины Java.
база: classloader_total_loaded_class_count 9430
# TYPE base: cpu_system_load_average gauge
…
Опубликовано на Java Code Geeks с разрешения Ивара Гримстада, партнера нашей программы JCG . Смотреть оригинальную статью здесь: Свобода в Oracle Application Container Cloud
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |