В этой записи блога я опишу, как развернуть приложение 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, являются их собственными. |
