Как стать автором
Обновить
1
0
Алексей Маркевич @amarkevich

Разработчик

Отправить сообщение

связка maven-dependency-plugin + maven-jar-plugin с соответствующей конфигурацией подготавливает приложения для запуски и не зависит от версий/фич/багов spring-boot-maven-plugin

так и было задумано. при конфигурации версия зависимостей фиксируется на мажорной-минорной версии. простая пересборка контейнера подтянет новую патч версию при наличии

можно использовать Multi-stage сборку. Образ билдера:

ARG PYTHON_VERSION=3.13

FROM python:${PYTHON_VERSION}-alpine

ENV PIP_DEFAULT_TIMEOUT=100
PIP_DISABLE_PIP_VERSION_CHECK=1
PIP_NO_CACHE_DIR=1
POETRY_VERSION=2.1.1
PYTHONUNBUFFERED=1

ENV PATH="/root/.local/bin:${PATH}"

RUN apk add --no-cache gcc alpine-sdk linux-headers &&
wget https://install.python-poetry.org -O - | python3 - &&
poetry self add poetry-plugin-bundle

Образ приложения:

ARG PYTHON_VERSION=3.13

FROM python-poetry-builder:python${PYTHON_VERSION} AS builder

WORKDIR /usr/src/app

COPY pyproject.toml ./
COPY src/. ./src
RUN poetry lock &&
poetry bundle venv --only=main /venv -vvv

FROM python:${PYTHON_VERSION}-alpine
COPY --from=builder /venv /venv

ENTRYPOINT ["/venv/bin/app"]

базой должно быть понимание того, что благодаря CRI в K8S Docker не является рантаймом по умолчанию, и большинство упомянутых уязвимостей не будет актуально при использовании другого рантайма

примечательно, что в категориях "Постоянное улучшение продукта" и "Программы, основанные на социальной значимости" примеров компаний нет. Что лишний раз подчёркивает, что бизнес должен зарабатывать деньги, а не заниматься благотворительностью.
Лично для себя выбираю упомянутую "осознанность" - надеюсь, это как-нибудь повлияет на тенденции

оригинал статьи 2019 года, поэтому стоило бы оставить замечание о базовом образе "openjdk:10-jdk": DEPRECATION NOTICE

HEALTHCHECK в современном контейнерном окружении не нужен, т.к. выполняется извне

COPY ${JAR_FILE} app.jarрекомендую посмотреть в сторону thin jar, когда есть более гибкая возможность контроля зависимостей и убирается слой Spring для работы с fat jar

с самого начала всё тщательно разделить

на старте мало данных для того, чтобы понять, что именно нужно разделять. бывает, что тщательно спланированная архитектура ведёт к сложностям реализации, что приводит к объединению модулей для оптимального взаимодействия

proto модели лежат в своём репо, который подключается git module'м к нужному проекту

Лимитирование нагрузки и защита от DoS-атак  – может управлять нагрузкой, вводя лимиты на количество запросов от клиента.

горизонтальный автоскейлер используется для того, чтобы добавить ресурсов на обработку увеличившегося количество запросов

перенести практически в любой другой организм

есть ли способ настроить на цель? в человеке помимо своих злокачественых клеток есть ещё вирусы и бактерии

автоматизация. всё, что делается через CLI, очень просто встроить через скрипты для выполнения автоматически

  • в случае использования Maven версия зависимости фикстированная

  • Maven репозитории не позволяют перезаписывать уже существующий релиз артефакта

  • использование инструментов вроде dependabot позволяют автоматизировать процесс обновления зависимостей

найденные ошибки были отправлены разработчикам?

> 1,2 млрд строк кода и более 25 тысяч репозиториев

зеркало гитхаба?

моноблок + беспроводные мышь с клавиатурой. есть варианты mATX с возможностью установки десктопной памяти

Часто можно встретить Dockerfiles именно с таким jdk в базовом образе.

и очень зря - уже давно deprecated

логичнее смотрится Enum на int'ах. Дополнительно можно и специфичные флаги в элементах размещать

1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность