Команда 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 и всего, что с ним связано.

Комментарии (0)