Какая настройка лучше всего подходит для распределения приложения PHP?
https://softwareengineering.stackexchange.com/questions/6510
-
16-10-2019 - |
Вопрос
Что является рекомендуемой настройкой с точки зрения управления источником, сборки, тестирования, отслеживания ошибок и развертывания для загружаемого приложения PHP (A LA WordPress, PHPBB, Magento и т. Д.)? Как бы вы ожидали разработчик, работающий над приложением? Как насчет пользователя приложения? Пожалуйста, опишите настройку и рабочий процесс, а также любые ресурсы, которые, по вашему мнению, могут быть актуальными или полезными.
Решение
Я обнаружил, что следующий подход будет работоспособным для приложения, которое я поддерживаю:
- Приложение распространяется как один zip, который просто должен быть рассмотрен на рабочем сервере PHP.
- Навигация в приложение автоматически запускает набор проверки здравомыслия (среда PHP, конфигурация приложения). Ошибки объясняют в простых терминах, как решить любую проблему, которая возникает.
- Сначала, если пройдут проверки здравомыслия, запускается мастер конфигурации. Это отключено, как только существует файл настроек.
- Все изменения клиентов выполняются в специальной подпапке приложения, что они могут скопировать из старой установки (для этой папки поддерживается обратная совместимость). Возможность совершать обновления путем разбивания файлов и копирование вокруг нескольких папок является полезной функцией.
- Сам файл ZIP построен с помощью сценария PHP командной строки, который проверяется в хранилище источника. Делать сборку так же просто, как обновление SVN, за которым следует вызов для Build.php.
- Сборщики разработчика сделаны так же, как и сборки выпуска, только с «неоптимизированным» флагом, переданным в сценарий сборки для предотвращения минификации и конкатенации.
- Тот факт, что сценарий сборки сама по себе является PHP, означает, что любой разработчик может внести изменения в то, как производятся сборки, даже без необходимости войти в наш сервер сборки.
Другие советы
С точки зрения разработчика я бы предпочел два способа:
- Получение источников от SVN / GIT
- Загрузка упакованной версии
Но как пользователь я бы предпочел загрузочный пакет ( *.zip и *.tar.gz).
Там должен быть
- readme.txt (или pdf или html)
- install.txt (или pdf или html)
- Файл демонстрационной конфигурации с документацией всех параметров
Если вы установите программное обеспечение, то Shoul будет установщиком, который проверяет требования и выполняет работу конфигурации.
Насколько я помню Круглый кабель У Webmailer был один из лучших установщиков, который я знаю.
Как пользователь
Все, что уже было сказано (одиночный тарбол, со сценарием установки, который выполняет все необходимые проверки среды).
В зависимости от целевого рынка, не требует доступа к CLI - некоторые общие хосты не допускают этого, и многие новые пользователи не будут знать, как его использовать.