ShelestovAnt
@ShelestovAnt
Верстаю и программирую

Как организовать сервера для нескольких разработчиков?

Суть вопроса следующая:
У нас есть онлайн проект и в данный момент мы расширяемся, нанимаем дополнительного программиста. Сейчас над сайтом я работаю один и каких-то вопросов безопасности не возникало. Но вот если добавится 1-2 или более сотрудников то тут уже есть риски что кто-то из-за чего-нибудь может с сервером и бд что-то сделать, это если дать полные доступы как сейчас к сайту и бд.

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

Что есть сейчас:
1. VPS на бегете
2. на нем Laravel с сайтом + БД MySql
3. работаю через bitbucket

На счет файлов сайта как-то опасений нет т.к. все проходит через bitbucket и я всегда буду видеть что загружается на сайт

А вот с БД сложнее, к рабочей БД будет доступ у всех и получается что потом любой может с ней что-то сделать неприятное... Бекапы делаются, но все равно неприятно будет...

Какое я вижу возможное решение:

1. текущую сборку оставляем и именуем его как продакшен)
2. на бегете создаем новый VPS(с меньшим тарифом, большой для него не нужен будет) и именуем его как dev
3. клонируем прод на dev + клон БД.
4. и теперь получается что разработчики будут работать только с dev сервером
5. при выполнении очередной задачи, разработчики делают все на dev, тестируют, если все норм то выгружают результат в bitbucket, а я потом все это дело выгружаю на прод и если нужно делаю migrate базы

И вот тут у меня вопрос, как синхронизироавть БД чтобы актуальные данные подтягивались с прода на тестовую БД(БД большая)
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 2
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Что мешает все изменения в БД документировать в bitbucket? Тогда вы сможете вносить их и в продакшн.
А можно настроить CI\CD из dev в production через https://bitbucket.org/product/ru/features/pipelines.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
коммитит на прод только один - ты ну или кто там главный
а базу хорошая практика держать или семплированные, или вообще сгенеренные данные - чтобы не сперли

используй логическую репликацию (это в Постгре, хз есть ли в MySQL но должно быть)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы