У меня проблемы с развертыванием с Deployer 4.0.2, и я нуждаюсь в помощи кого-то более опытного, чем я в этом.Deployer - нет tty настоящего и нет программы прошивки - Как развернуть с Deployer
Я хочу развернуть хранилище шахты на сервере Ubuntu 16.04
.
Я использую laravel homestead как среду разработки, где я также установил развертыватель. Оттуда я ssh на мой удаленный сервер.
Я смог развернуть свой код с пользователем root
, пока не ударил RuntimeException
, который прервал мое развертывание.
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Это заставило меня создать другого пользователя с именем george
, которого я дал суперпользователя права. Я скопировал свой открытый ключ с моей локальной машины на вновь созданный файл ~/.ssh/authorized_keys
, который дал мне разрешение на доступ к серверу через ssh.
Но когда я бегу dep deploy
с новым пользователем:
server('production', '138.68.99.157')
->user('george')
->identityFile()
->set('deploy_path', '/var/www/test');
Я получаю другой RuntimeException
:
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Теперь он выглядит как новый пользователь george
не может получить доступ к ключу ~/.ssh/id_rsa.pub
. Поэтому я копирую их из корневой папки в свою домашнюю папку, а также добавляю открытый ключ в настройках SSH Github.
cp root/.ssh/id_rsa.pub home/george/.ssh/id_rsa.pub
cp root/.ssh/id_rsa home/george/.ssh/id_rsa
Только для получения такой же ошибки, как раньше.
В конце концов мне пришлось добавить GitHub в мой список разрешенных хостов:
ssh-keyscan -H github.com >> ~/.ssh/known_hosts
только, чтобы получить следующий RuntimeException
[RuntimeException]
sudo: no tty present and no askpass program specified
мне удалось прокомментировать этот код в deploy.php
// desc('Restart PHP-FPM service');
// task('php-fpm:restart', function() {
// // The user must have rights for restart service
// // /etc/sudoers: username ALL=NOPASSWD:/bin/systemctl restart php-fpm.service
// run('sudo systemctl restart php-fpm.service');
// });
// after('deploy:symlink', 'php-fpm:restart');
Чтобы завершить процесс развертывания, и теперь я спрашиваю я сам, если php-fpm действительно необходимо, для продолжения отладки этого инструмента развертывания? Или я могу жить без него?
И если мне это нужно, может кто-нибудь помочь мне понять, для чего он нужен? И, может быть, роскошь также обеспечивает решение RuntimeException?