Git自動デプロイが自動で動いてくれない
いつもお世話になっています。
「リモートにGit Pushした際、本番環境へ自動デプロイする」仕組みについての質問をさせてください。
環境
- CentOS 7.4
- NginX 1.13.11
- Git 1.8.3.1
現状
リモートリポジトリの作成、及び、ローカル環境へのclone等は完了しています。
あとはpost-receiveの設定をして、本番への自動デプロイが成功すれば終了、なのですが、そこで詰まってしまっています。
- ローカルからリモートへのPushは出来ている
- Push時に、post-receiveへのアクセスは出来ている
- post-receive自体は動いているようなのだが、自動デプロイが成功しない
post-receive中身
#!/bin/sh
cd /home/kusanagi/サイト名/
git --git-dir=.git pull origin master > /tmp/サイト名_err.log
#echo test_run > /tmp/サイト名_err.log
一番下の行のechoは、このファイルにアクセスされているかどうかのチェック用に使ったコードです。
このechoのコメントを外した状態でGit Pushした際、err.logに「test_run」の書き込みがあったため、post-receive自体へのアクセスは出来ているのでは?と判断しました。
実行権限は「chmod a+x post-receive」で付けました。
ですが、本番環境への自動デプロイは出来ていません。
そこで、SSH上で
./post-receive
を叩いてみたところ、本番環境へのデプロイは動作し、正常に更新は出来ました。
なので、パスが間違っている等、ファイル内の記述に問題があるわけではないのでは?と判断しました。
echo部分を削除した状態で実行しても、エラーも特に記録されないため、何が問題で自動で動かないのかがわかりません。
Apache環境では問題なく動作したのですが、Nginx環境では何か足りないものがあるのでしょうか?
毎度手動で叩きに行けば動くのですが、それではあまり意味がないので、原因について心当たりがある方のご指導いただけませんでしょうか?
宜しくお願い致します。