Я только начал работать в новой фирме в качестве внутреннего веб-разработчика. До сих пор они занимались аутсорсингом разработки своих сайтов и решили привлечь их к себе, отсюда и моя работа.
Я только каждый работал над проектами самостоятельно и никогда не использовал контроль версий.
Мы только что наняли другого веб-разработчика, чтобы он работал вместе со мной, и меня попросили изучить систему контроля версий, поскольку для доступа к файлам сайта потребуется до 4 человек.
Я совершенно не понимаю, как правильно настроить сайты Apache при работе с контролем версий.
В настоящее время у нас есть локальный веб-сервер разработки под управлением Ubuntu и Apache2 и работающий веб-сервер в центре обработки данных. Локальный сервер содержит несколько веб-сайтов, каждый из которых имеет подпапку в корне веб-узла, т.е. / home / htdocs / sitename_com и / home / htdocs / sitename2_com. В настоящее время мы редактируем файлы веб-сайтов на ПК с использованием общих ресурсов samba или FTP. Я хочу установить SVN, чтобы пользователи могли извлекать рабочую копию кода одного сайта, вносить любые изменения, а затем фиксировать эти изменения в репозитории. Затем мы должны иметь возможность протестировать сайты, а затем, когда они будут счастливы, отправить файлы FTP на наш работающий сервер.
Теперь, когда я задумался о настройке SVN, я понял, что когда пользователь извлекает рабочую копию на своем компьютере, он не может на самом деле проверить изменения, пока не отправит их обратно в хранилище. Это потому, что файлы PHP и должны выполняться через веб-сервер. Теперь я могу просто установить XAMP на каждую машину, но тогда конфигурация будет отличаться от конфигурации Apache2 на сервере разработки. Это для меня не вариант.
Полагаю, рабочие копии нужно создавать не на компьютере пользователя, а внутри корневого веб-сервера сервера разработки, это тот же сервер, что и сам репозиторий. Я мог бы создать общий ресурс samba для папки рабочей копии пользователей, чтобы они могли вносить изменения на своем компьютере с Windows.
У меня есть несколько вопросов:
- Можете ли вы просмотреть веб-сайт, хранящийся в хранилище в браузере, без предварительной проверки?
- Если нет, то сайт должен быть извлечен в папку в корне сети того же сервера?
- Должен ли я использовать репозиторий для каждого сайта или один репозиторий с подпапками для каждого сайта?
- Когда пользователь передает изменения, внесенные в рабочую копию, обратно в хранилище, нам необходимо протестировать эти изменения и изменения всех остальных, которые могли быть зафиксированы. Можно ли заставить SVN скопировать зафиксированные изменения в промежуточную область в корневом веб-каталоге для тестирования?
Или есть лучший способ сделать это?
Кажется, я не могу найти в Интернете какой-либо четкой информации о передовых методах настройки SVN для веб-сайтов. Понятно, как SVN относится к исходному коду приложения на C ++, где вы просто скомпилируете свою рабочую копию на своем компьютере для тестирования, но веб-сайты должны работать на веб-сервере, и каждая рабочая копия должна быть проверена на веб-сервере перед проверкой в хранилище.
На сервере работают несколько сайтов, на которых работают несколько пользователей. Нам нужно иметь возможность работать на сайтах одновременно, тестировать все изменения в промежуточной области, а также нам нужна живая область, где у нас будет точное зеркало реального сайта, где мы можем объединить любые изменения и протестировать перед загрузка на живой сервер.
Все примеры, которые я нашел в Интернете, используют примеры одного сервера, на котором размещается один сайт. В моем случае наш живой сервер содержит около 10 сайтов.
Если бы кто-нибудь мог дать мне совет, как это настроить, структуру каталогов Apache, структуру хранилища и т. Д., Я был бы очень признателен.
Заранее спасибо!