#php #svn #version-control
#php #svn #контроль версий
Вопрос:
В настоящее время я использую SSH SVN для веб-проекта, разработанного в основном на PHP. Со мной работает другой разработчик, и мы оба извлекаем из репозитория в наши собственные песочницы, которые доступны для просмотра из Интернета.
Я хочу привлечь новых разработчиков и ограничить их определенными частями кода проекта. Как мне добиться этого и при этом разрешить им иметь изолированную среду для предварительного просмотра сайта с их изменениями в нем?
Например, у меня есть фрагмент кода под названием proprietary_algo.php это должно быть разрешено только привилегированным разработчикам (чтение, запись, выполнение). Все другие новые разработчики по-прежнему могут просматривать сайт через свою изолированную среду, для чего требуется выполнение proprietary_algo.php но они не могут скопировать код или прочитать код внутри него.
Я открыт для отказа от SVN или настройки совершенно нового процесса, если я смогу этого добиться.
Добавлено примечание: нет, NDA и trust не будут сокращать его. Для наших бизнес-потребностей и ситуации необходимо ограничить доступ к определенным исходным файлам.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Я настраиваю виртуальный хост и DNS, который указывает на их каталог изолированной среды (пример: devuser1.mydomain.com ) чтобы они могли проводить тестирование. Они извлекают код непосредственно из магистрали в свою изолированную среду и редактируют код на своих IDE, удаленно подключенных через SSH. Как упоминалось выше, в репозитории есть некоторый код, который должен быть недоступен, но все еще необходим для запуска сайта при редактировании и тестировании в их изолированных средах. Все разработчики используют один и тот же экземпляр MySQL DB.
Комментарии:
1. Переместить его в другой репозиторий?
Ответ №1:
Вы можете сделать это, если используете svn httpd.
Ответ №2:
Обращение «требует выполнения proprietary_algo.php , но они не могут скопировать код или прочитать код внутри него.» Если NDA не будет его вырезать, вас ждет мир боли.
Даже после того, как вы настроили элементы управления доступом SVN, вы не сможете остановить их PHP-скрипт, копирующий секретные скрипты в HTTP-вывод.
На самом деле, вы можете остановить это, но им придется либо:
- Вызовите секретный скрипт через http-запрос (например, curl). Вам нужно будет реализовать интерфейс XML / JSON / name-your-HTTP-RPC-method между надежным и ненадежным кодом.
- Разрешить ненадежному коду выполнять скрипты в режиме CGI.