Система сборки PHP [закрывается]

PHP

  1. Никакой конструктор, перегружающийся
  2. Непоследовательное именование функции (str_replace, но strtolower)
  3. , определяют (), не заменяет глобальную переменную буквально как C++, делает.
  4. При объединении с XHTML, операторы как оператор "if" должны начаться без добавления отступа, даже при том, что XHTML располагается с отступом, если Вы хотите сохранить добавление отступа XHTML последовательным.

Исключая:

необходимо ввести:

<?php
if($x == NULL)
{
?>
                     <p><?= $x . ' is null' ?></p>
<?php
}
?>
  1. С обнаружением ошибки ужасен

(не уверенный, почему ТАК изменил № 5 на № 1 снова, но безотносительно)

10
задан m13r 6 March 2018 в 12:06
поделиться

5 ответов

Я использовал Capistrano с PHP (хотя это больше похоже на Rails, поскольку оно написано на Ruby).

Это было действительно просто использовать , но это говорит о том, что мне не пришлось сильно масштабироваться. Тем не менее, мы выполняем развертывание на различных промежуточных / производственных серверах, и многоступенчатое расширение было полезно в этих сценариях.

Однако, как и в большинстве вещей, в Ruby есть множество ловушек и «магии», которые могут сбить с толку, если вы: вы новичок в Capistrano и пытаетесь сделать с ним что-то сложное.

Что касается того, как он сравнивается с другими инструментами развертывания, я не могу комментировать. Я знаю, что мы использовали Phing, но не знаю, почему мы перешли на Capistrano.

8
ответ дан 3 December 2019 в 23:50
поделиться

Мы используем пинг, и он нам пригодился. Мы не используем его для упаковки, но заставить его делать то, что вы ищете, не должно быть слишком сложно. В основном мы используем его для общих задач, таких как очистка кешей, создание сайтов разработки и других задач, помогающих в разработке. Это было большим подспорьем, и, насколько я понимаю, это похоже на клон муравья, хотя, возможно, он не обладает всеми функциями, которые есть у муравья.

1
ответ дан 3 December 2019 в 23:50
поделиться

Если бы мне пришлось реализовать такую ​​систему развертывания, я бы, вероятно, выбрал несколько иное решение, чем то, что вы описали выше. Вместо того, чтобы иметь код, который выполняется локально в моей системе, подключается к списку удаленных серверов и выполняет там «работу», я бы упаковал модуль средства обновления с остальной частью кода и попросил бы его получать данные обновления с моего сервера по запросу. (точнее, когда я «сказал» ему это сделать). Таким образом, у вас будет гораздо меньше забот (вам просто нужно передать обновленный код через http по запросу, а удаленный сервер сделает все остальное). Только мои 2 цента.

0
ответ дан 3 December 2019 в 23:50
поделиться

Если вам нравится Capistrano, но вы хотели бы, чтобы он был немного больше PHP, посмотрите Fredistrano .

Я написал автоматизированную сборку (экспорт SVN, Zend Guard кодирование и т. д.) и систему развертывания с использованием Phing один раз, и было довольно сложно использовать. Всякий раз, когда мне приходилось писать специальное задание, я чувствовал, что должен перепрыгивать через множество обручей, чтобы заставить его работать.

Итак, в наши дни я просто пишу простые сценарии bash, которые создают с проверкой SVN, кодируют, создают тег в SVN и развертывают через rsync. Он может быть низкотехнологичным, и у Phing могут быть некоторые превосходные функции, но, по крайней мере, он мне не мешает.

2
ответ дан 3 December 2019 в 23:50
поделиться

Я написал для этого свой собственный инструмент, похожий на rsync, потому что я работаю с очень плохим интернет-соединением в странах третьего мира и имею всевозможные сбои и нехватку соединений, так что rsync не работает .

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

Лучше, если вы используете полностью независимую зеркальную систему на своей веб-хост-системе и включаете несколько небольших, но фундаментальных модульных тестов после миграции. Затем выполните корневое переключение, чтобы разместить обновленный веб-сайт в сети. Для этого потребуется запустить несколько интерактивных служб в режиме только для чтения во время миграции (к сожалению, эта функция реализуется не многими людьми).

0
ответ дан 3 December 2019 в 23:50
поделиться
Другие вопросы по тегам:

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