Ответ заключается в том, что они, конечно, не являются избыточными.
Это правда, что можно достичь того же конечного результата, используя скрипт bash, который включает команды drush (по крайней мере, часть сборки). Но если мы собираемся интегрировать наш процесс в инфраструктуру CI, такую как JenkinsCI, то использовать что-то вроде phing (здесь можно заменить муравей или capistrano).
С помощью phing мы можем разбить процесс сборки на отдельные сегменты, которые могут интеллектуально отчитываться перед Jenkins.
Так например. Скажем, в рамках процесса сборки я использую drush, чтобы включить два модуля, узел и должен потерпеть неудачу. Тогда сборка должна провалиться. Но если все, что мы делаем, это сообщаем JenkinsCI выполнить следующую команду оболочки, JenkinsCI скажет, что сборка PASSED:
drush --quiet --yes @staging en node shouldfail
Понятно, что это не так. Однако если вместо этого мы используем ant или phing для определения того же процесса, мы также можем добавить некоторую логику сбоя, которую понимает Дженкинс, и, следовательно, потерпеть неудачу, как и должно быть. Следующий скрипт сборки phing пытается сделать то же самое, что и предыдущая команда, но завершается неудачно, как мы и ожидаем:
<project name="staging" default="enable modules" description="Jenkins Staging Build">
<target name="enable modules">
<exec command="drush --quiet --yes @staging en node shouldfail" error='error' checkreturn="true">
</exec>
<loadfile property="en.error" file="error" />
<if>
<contains string="${en.error}" substring="warning" />
<then>
<property name="en.fail" value="Could not enable all modules" />
</then>
</if>
<fail if="en.fail" message="${en.fail}" />
</target>
</project>
Кстати, муравей и phing почти идентичны. Преимущество phing для разработчиков PHP в том, что они могут более удобно расширять phing.
Что касается разработки и дружественной работы Drupal, то я не вижу особой ценности в расширении phing и думаю, что для создания шаблона умной сборки будет достаточно выполнения exec-задач.
Ну, чтобы ответить на мой вопрос, я потратил время, чтобы выяснить, как звонить. Это на самом деле довольно интуитивно понятно, и это не займет много времени, чтобы понять.