Блог >> deployment tool MagallanesВообще тут будет некоторое дублирование официальной документации только на русском языке Установка composer require andres-montanez/magallanes:^3.0 composer update Постоянно выскакивала ошибка [RuntimeException] Даже есть такая ошибка на гитхабе, но её решение не относится к моей проблеме. Пришлось копаться в коде, конкретно в моем случае была следующая ошибка: не правильно задан параметр host_path - я указал папку, в которую попадает пользователь при заходе по shh и ожидал, что он скрипт будет локально ходить по папкам, и создавать/редактировать каталоги, но как оказалось он работает иначе, немного покопав, я нашел место где падает скрипт и вывел его команду: mkdir -p /myhost/mysite/test_public_html/public_html/releases/20170421091103 попытавшись выполнить его вручную, получил ошибку о нехватке прав. выполнив команду pwd получил полный путь к моему каталогу с сайтами а именно: /home/j/myhost/... Как видно на скриншоте, помимо стандартного вывода, там появилась еще и мая отладочная информация, а именно: название класса, и выполняемая команда, для класса PrepareTask, расположенного в vendor/andres-montanez/magallanes/src/Task/BuiltIn/Deploy/Release/PrepareTask.php Вообще саму команду и ответ с ошибкой можно вывести в файле /var/www/justivru/vendor/andres-montanez/magallanes/src/Runtime/Runtime.php в метод runLocalCommand добавить вывод в условие if (!$process->isSuccessful()) { следующую строки: print($cmd); print($process->getErrorOutput()); Вообще это конечно странно, что даже при любом уровне выполнения, передав дополнительный параметр -vvv, указывающий отладочный режим, ничего не выводится в терминал. Вот мой файл найстроек: magephp: log_dir: /var/www/localsite/logs/deploy environments: production: ssh: port: 22 user: username branch: master from: ./ host_path: home/j/myhost/mysite/test_public_html/public_html releases: 4 exclude: - ./test/* - ./_migrations/* - ./data/* - ./.mage.yml - ./logs/* - ./*.sql hosts: - 00.000.00.000 pre-deploy: on-release: post-release: post-deploy: Как видно, второй строкой указана папка для логирования, дак вот, туда соответственно будут валиться все логи. Папка должна быть создана, на момент запуска в противном случае логи создаваться не будут. Сам скрипт папку не создаст. P.S. Так же не скриншоте видно, что для каждого чиха magallanes требует ввести пароль - это конечно капец как неудобно, в репозитории есть issue на данную тему и помечено что будет выполнена в v3, она уже давно вышла, а воз и ныне там... |
|