Какая настройка лучше всего подходит для распределения приложения PHP?

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/6510

Вопрос

Что является рекомендуемой настройкой с точки зрения управления источником, сборки, тестирования, отслеживания ошибок и развертывания для загружаемого приложения PHP (A LA WordPress, PHPBB, Magento и т. Д.)? Как бы вы ожидали разработчик, работающий над приложением? Как насчет пользователя приложения? Пожалуйста, опишите настройку и рабочий процесс, а также любые ресурсы, которые, по вашему мнению, могут быть актуальными или полезными.

Это было полезно?

Решение

Я обнаружил, что следующий подход будет работоспособным для приложения, которое я поддерживаю:

  1. Приложение распространяется как один zip, который просто должен быть рассмотрен на рабочем сервере PHP.
  2. Навигация в приложение автоматически запускает набор проверки здравомыслия (среда PHP, конфигурация приложения). Ошибки объясняют в простых терминах, как решить любую проблему, которая возникает.
  3. Сначала, если пройдут проверки здравомыслия, запускается мастер конфигурации. Это отключено, как только существует файл настроек.
  4. Все изменения клиентов выполняются в специальной подпапке приложения, что они могут скопировать из старой установки (для этой папки поддерживается обратная совместимость). Возможность совершать обновления путем разбивания файлов и копирование вокруг нескольких папок является полезной функцией.
  5. Сам файл ZIP построен с помощью сценария PHP командной строки, который проверяется в хранилище источника. Делать сборку так же просто, как обновление SVN, за которым следует вызов для Build.php.
  6. Сборщики разработчика сделаны так же, как и сборки выпуска, только с «неоптимизированным» флагом, переданным в сценарий сборки для предотвращения минификации и конкатенации.
  7. Тот факт, что сценарий сборки сама по себе является PHP, означает, что любой разработчик может внести изменения в то, как производятся сборки, даже без необходимости войти в наш сервер сборки.

Другие советы

С точки зрения разработчика я бы предпочел два способа:

  1. Получение источников от SVN / GIT
  2. Загрузка упакованной версии

Но как пользователь я бы предпочел загрузочный пакет ( *.zip и *.tar.gz).

Там должен быть

  • readme.txt (или pdf или html)
  • install.txt (или pdf или html)
  • Файл демонстрационной конфигурации с документацией всех параметров

Если вы установите программное обеспечение, то Shoul будет установщиком, который проверяет требования и выполняет работу конфигурации.

Насколько я помню Круглый кабель У Webmailer был один из лучших установщиков, который я знаю.

Как пользователь

Все, что уже было сказано (одиночный тарбол, со сценарием установки, который выполняет все необходимые проверки среды).

В зависимости от целевого рынка, не требует доступа к CLI - некоторые общие хосты не допускают этого, и многие новые пользователи не будут знать, как его использовать.

Лицензировано под: CC-BY-SA с атрибуция
scroll top