Я использую BitBucket для моего проекта Django и EC2 для облачных серверов. Моя цель состоит в том, чтобы, когда я помещал коммит в ветку, BitBucket сделал вызов на хуке, а хук обновил код в EC2.
До сих пор, когда я фиксирую, вызывается ловушка, но код не обновляется на сервере. В моем понимании, это связано с разрешениями в Linux / Ubuntu 14.04.
Я пытался перейти по ссылке с Брэндон Саммерс и дальнейшее уточнение того же Вот. Но это все еще не работает.
С первой ссылкой я получаю это в журнале:
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
chmod: cannot access '.git': No such file or directory
[Thu Jul 30 18:21:05.106127 2015] [:error] [pid 9736] [client 131.103.20.165:42727] PHP Notice: Undefined property: Deploy::$_data in /var/www/html/deploy_home.php on line 127
И вторая ссылка дает мне это в консоли:
[Sat Aug 01 15:26:35.000824 2015] [:error] [pid 2447] [client 131.103.20.165:39102] PHP Warning: file_put_contents(/var/log/deploy/deployments.log): failed to open stream: No such file or directory in /var/www/html/deploy_repo.php on line 144
[Sat Aug 01 15:26:35.000869 2015] [:error] [pid 2447] [client 131.103.20.165:39102] PHP Warning: chmod(): No such file or directory in /var/www/html/deploy_repo.php on line 147
[Sat Aug 01 15:26:35.000924 2015] [:error] [pid 2447] [client 131.103.20.165:39102] PHP Warning: file_put_contents(/var/log/deploy/deployments.log): failed to open stream: No such file or directory in /var/www/html/deploy_repo.php on line 152
[Sat Aug 01 15:26:35.001010 2015] [:error] [pid 2447] [client 131.103.20.165:39102] PHP Warning: file_put_contents(/var/log/deploy/deployments.log): failed to open stream: No such file or directory in /var/www/html/deploy_repo.php on line 144
[Sat Aug 01 15:26:35.001034 2015] [:error] [pid 2447] [client 131.103.20.165:39102] PHP Warning: chmod(): No such file or directory in /var/www/html/deploy_repo.php on line 147
[Sat Aug 01 15:26:35.001068 2015] [:error] [pid 2447] [client 131.103.20.165:39102] PHP Warning: file_put_contents(/var/log/deploy/deployments.log): failed to open stream: No such file or directory in /var/www/html/deploy_repo.php on line 152
sh: 1: /usr/sbin/sendmail: not found
Вывод консоли второй ссылки связан с невозможностью записи в файл журнала, но папка репозитория остается неизменной в EC2.
Что мне здесь не хватает?
Во-первых, я полагаю, вам не хватает deploy
каталог в var/log
, Попробуйте создать его вручную. Таким образом, по крайней мере, у вас будет несколько файлов журнала для анализа.
Во-вторых, вы не показали свой скрипт здесь, но стоит упомянуть, что этот скрипт использует более старый IP Bitbucket; если вы еще не изменили его, попробуйте заменить IP в этой строке,
private $_repositoryIp = array ( '63.246.22.222');
с одним из новых IP-адресов, которые вы можете найти Вот.
В-третьих, зачем все усилия, когда вы можете CI инструменты, такие как Дженкинс? Несколько полезных постов: 1, 2.
Других решений пока нет …