ENV
Вот например у меня есть .env файл, при запуске программа его парсит и все ок.
Но вот захотел я в докер засунуть приложение... и сразу получу ошибку, что "файл .env не найден".
Не пихать же в контейнер .env, правда?
А как тогда?
1. У меня только мысль при старте, пытаться парсить конфиг, игнорировать ошибку "файл не найден", после через os.GetEnv получать переменные и проверять что они не пустые.
Как бы сделали вы? Если речь про небольшой сервис и желательно без сторонних либ.
Через переменные окружения просунь. Т.е. конфиг в виде файла не надо
Эм, ну так половина всех хв начинается и не хв. Ну то есть, да
Я так и делаю, просто у меня при запуске идет сначала проверка на наличие файла, если его нет - просто читаем из ОС..хотел понять насколько такая логика распространена
просто читай из ос. не надо файлы парсить. в наши дни пора научиться энв процессам передавать.
Я предполагаю, что ты эту проверку делаешь из-за того, что при локальной разработке удобно файл подсовывать. Но в настройках конфигураций Goland можно env прописать - и тогда необходимость в файле отпадёт
Правильно ли я понял, что вы говорите о возможности указать env вручную при запуске программы (когда из goland по стрелке запускаем) ? да, мне просто удобно при локальной разработке файл держать, он используется и для makefile команд и docker-compose, но думаю для самого приложения действительно можно ручками разок закинуть
Да. Я так раньше тоже делал, файлик подсовывал. Потом просто сделал в настройках себе несколько конфигураций с разными значениями env (если требуется) и всё
Думаю, попробую внедрить в команде из 5 человек, посмотрим...к счастью у всех Goland) Спасибо.
Главное не забудьте в проекте в README или ещё как-то описать список ENV-переменных, которые надо заполнять, и за что они отвечают
Мы обычно в комментах в коде у переменных пишем для чего эта переменная
Да, пишу пока в рамках тестов небольшого бота, который по вебхуку следит за МР в гитлабе и в чат телеграма отправляет сообщение, когда кто-то открыл МР или чей-то Мр был смерджен... всякие штуки изучаю базовые, пока только 1ю версию сделал для 1 проекта, завтра README допишу, сюда скину, чтобы унизили посмотрели кому интересно
Можно сделать docker run --env-file you_env_file
Обсуждают сегодня