Ответ состоит из двух частей:
Решение вопроса
Ваша установка Phing должна выполняться с помощью composer. Сделайте composer require phing/phing
- и тогда вы можете использовать vendor/bin/phing
для запуска вашего build.xml
файла (вместо, скажем, глобальной установки).
Тогда, когда вы закончите, ваш последний шаг для запуска может быть composer remove phing/phing
Предлагаемый рабочий процесс
Итак, идея с чем-то вроде Дженкинса заключается в том, что вы должны использовать его для выполнения всей сборки и обработки в системе сборки. Затем он (Дженкинс) - это инструмент, который может сделать для вас все что угодно в удаленных системах. Таким образом, вместо того, чтобы звонить на развернутый сервер и затем выполнять его задачи, вы бы сказали Jenkins выполнять эти задачи удаленно. (Это может быть выполнено с помощью каждого шага, требующего повторного подключения к серверу для выполнения нового шага). Поскольку эти шаги также являются частью процесса развертывания, в случае сбоя любого из них сборка будет считаться неудачной, и вы получите это представление. Итак, как говорится, решение, которое я предлагаю, выше, но я бы порекомендовал изменить все остальное.