Команда Spring АйО рада поделиться с новостью от JetBrains: стала доступна вторая версия EAP IntelliJ IDEA 2025.1.
Среди нововведений — поддержка Containerfile и обновления для Dockerfile.
Удаленные среды разработки
Поддержка Containerfile
Контейнерные экосистемы выходят за рамки рабочих процессов, ориентированных на Docker, и такие инструменты, как Podman и Buildah, предпочитают Containerfile в качестве нейтральной альтернативы. Однако поддержка IDE, как правило, основывалась только на привязке к Dockerfile, и часто отставала. Это вносило некоторые неудобства, заставляя разработчиков либо переименовывать Containerfile в Dockerfile, терять специфические для Podman best practices, а иногда и вовсе работать с базовым текстовым редактором.
Теперь IDE JetBrains поддерживает функцию распознавания Containerfile. Это может показаться незначительным улучшением, но на самом деле оно способствует бесшовной работе разработчиков, которые использует Docker, Podman и Buildah в одной среде.
Больше не нужно хранить отдельные версии ваших файлов сборки только для того, чтобы IDE не рассматривала их как простой текст. А для новых сотрудников или open-source контрибьюторов, использующих Podman с самого начала, такой подход обеспечивает большую ясность.
Такие возможности IDE как подсветка синтаксиса, линтинг и предложения по фрагментам теперь полностью поддерживаются, что снижает количество ошибок, ускоряет отладку и улучшает четкость. Теперь не имеет значения какой Engine вы используете: половина команды может использовать Docker, а другая половина Podman – все смогут работать с одним и тем же файлом, распознаваемым одними и теми же инструментами.
Поддержка строковых инструкций в Dockerfile
IntelliJ IDEA 2025.1 EAP 2 предоставляет улучшенную поддержку Dockerfile, позволяя вам писать директивы в строковом регистре наряду с традиционным верхним регистром. Ранее IDE распознавала команды, такие как FROM
, RUN
и COPY
, в первую очередь как инструкции Dockerfile. Теперь вы также можете свободно использовать строчные from, run и copy.
Хотя сам Docker не чувствителен к регистру относительно инструкций, верхний регистр исторически использовался для улучшения читаемости и для разграничения инструкций и аргументов. Однако альтернативные стили написания могут быть предпочтительнее для удобства использования определенных команд, плагинов, корпоративных стандартов или личных предпочтений. Начиная с этого релиза вы можете придерживаться своих предпочтительных соглашений, не рискуя упустить подсветку или столкнуться с вводящими в заблуждение предупреждениями от IDE.
Новая инспекция для надежной инициализации ENTRYPOINT с помощью exec
Мы внедрили новую инспекцию для Dockerfile, которая гарантирует, что ваш ENTRYPOINT
корректно инициализирован с использованием exec
. Использование exec позволяет сигналам, отправляемым через docker stop
, достигать основного процесса напрямую, что предотвращает зависание или неправильное завершение процессов. Если вы пропустите exec
, ваше приложение может работать как дочерний процесс и не получить сигналы, такие как SIGTERM
, что делает завершение работы ненадежным. Эта проверка выделяет неправильное использование ENTRYPOINT
и направляет вас к best practices, помогая поддерживать более чистые Dockerfile и более устойчивые жизненные циклы контейнеров.
Для полного списка изменений смотрите release notes.
Присоединяйтесь к русскоязычному сообществу разработчиков на Spring Boot в телеграм - Spring АйО, чтобы быть в курсе последних новостей из мира разработки на Spring Boot и всего, что с ним связано.