Получить переменные с .env
тогда надо их оттуда прочесть, да. автоматики для этого в стандартной библиотеке нет
почему?
.env это нестандартизованный формат и самостоятельное его чтение приложением совмещает минусы всех вариантов локальных конфигов. Его также нужно доставлять до приложения (как toml/yaml), подстраиваться под формат который будет поддерживать выбранная для его парсинга либа (как при любой работе с .env) и лишает возможности передавать значения через, собственно, нормальные переменные окружения (как это делают с docker-compose, systemd)
его не надо доставлять в приложение, в локальной разработке лежит .env с стандартными настрйоками в репе, а .env.* в .gitignore, файлы тоже в директории проекта все, в проде через CI/CD грузить и по делом
При локальной разработке его читает IDEA, или чем вы его запускаете, на проде в зависимости от CD
читает IDEA? нет, его читает сборка приложения прочитала, посмотрела PROJECT_ENV переменную, если прод, просто пропустила обработку дальнейшую
а какая CD не умеет переменные окружения грузить?
ну приложение собирается, читает переменные окружения из окружения и из файла .env, если таких нет вообще можно так — .env никто не чиатает, он просто дял дева (или .env.dist), а читает приложение файл .env.local (который в игноер в гите), тогда в проде в CD его просто нет, а влокале при развертывании он копируется из .env (или .env.dist)
У них как правило формат менее волен и предсказуем, хотя предпочел бы описать в yaml (как в случае compose)
Обсуждают сегодня