Как управлять учетными данными веб-приложений (PHP) на реальном сервере?

#php #laravel #deployment #server #credentials

#php #laravel #развертывание #сервер #учетные данные

Вопрос:

У меня есть веб-приложение Laravel в репозитории Github. Существует три ветви, такие как master, preview, develop. Когда я настраиваю свои приложения в другой среде (другой сервер в качестве рабочего, предварительного просмотра и промежуточной разработки), я хочу управлять учетными данными своих приложений, такими как учетные данные базы данных, учетные данные аутентификации API … и т.д.

Мой файл Laravel applications .env не включен в репозиторий Github. Это удобно для скрытия учетных данных от разработчиков и других пользователей. Но мне не нравится добавлять отдельный файл .env на уровне сервера без какого-либо отслеживания этого файла .env. Есть ли какой-либо способ отслеживать только файлы.env с помощью другого частного репозитория и переносить его на уровень сервера?

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

Комментарии:

1. Итак, в принципе, вам нужно управление версиями для учетных данных в .env ? Почему?

2. Не могли бы вы использовать подмодуль Git? git-scm.com/book/en/v2/Git-Tools-Submodules Лично я бы никогда не стал заморачиваться, но это вариант.

3. Причина не размещения .env в репозитории не в том, чтобы скрыть их от разработчиков, а в том, что они отвлекают внимание, с которым разработчикам не следует иметь дело. Если вам действительно нужно поддерживать их версионность, то, во что бы то ни стало, зафиксируйте их в репозитории. Это может быть даже тот же репозиторий, что и код, или, возможно, отдельный репозиторий, который использует ваша ИТ-команда.

4. Главное, что при переносе приложения между серверами я хочу получить его легко. Также автоматизируйте процесс развертывания в первый раз.

5. Большинство людей настраивают свои серверы с .env файлами, а затем все развертывания сохраняют их нетронутыми. .env Файл является частью сервера, а не развертывания. Поскольку .env переменные связаны со средой, то никаких изменений не требуется, пока среда не изменится. Если вы обнаружите, что часто меняете их, вам нужно задаться вопросом, должны ли эти значения быть в .env для начала