You've successfully subscribed to Заметки Разработчиков
Great! Next, complete checkout for full access to Заметки Разработчиков
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.
Billing info update failed.

happens

Расписание конференции Jocker 2022

Решил расспралировать конферецию Jocker, выбрать какие доклады стоит посмотреть. Как обычно все интересные доклады либо идут в одно и то же время, либо пересекаются. Второй день конфереции вообще идет в рабочее время и там плотность конференций еще больше, еще больше пересечений. Надеюсь в том месте, куда попадет составитель расписания после

Решил расспралировать конферецию Jocker, выбрать какие доклады стоит посмотреть. Как обычно все интересные доклады либо идут в одно и то же время, либо пересекаются. Второй день конфереции вообще идет в рабочее время и там плотность конференций еще больше, еще больше пересечений. Надеюсь в том месте, куда попадет составитель расписания после смерти, будет такой же плотный график.

Нативная сборка Quarkus сервиса

Рассказываю о своем опыте сборки Quarkus сервиса в нативном режиме.

Провозился два дня, но в итоге смог собрать один из микро-сервисов в нативном режиме. Ничего сложного, было много нюансов в настройке CICD.

Самое полезное, это вот эта документация Quarkus. А конкретно флаги:

-Dquarkus.native.container-build=true
-Dquarkus.native.remote-container-build=true
В моем случае вот этот

Также слепил образ для GitLab-раннера, который совмещает GraalVM и Docker, осталось добавить в него Gradle, но пока использую ./gradlew.

FROM ghcr.io/graalvm/graalvm-ce:ol9-java17-22.3.0
WORKDIR /opt/graalvm
RUN microdnf -y install dnf-plugins-core
RUN microdnf -y install yum
RUN yum install -y yum-utils
RUN yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
RUN yum install -y docker-ce docker-ce-cli containerd.io
RUN gu install native-image

Сервис стал собираться в 2,5 раза больше, около 5 минут, вместо 2. Но теперь он стартует моментально, наверное за доли секунды. При этом на под выделяется всего 256 mb ОЗУ на старте и 512 mb в момент работы.