質問: 現在さくらサーバー(スタンダード)にて下記を参考にしてPUSHのタイミングで さくらサーバーに自動デプロイすることができるようになりました。 ```
回答: github の webhook を発火させるタイミングは制御できなかったかと思います。 よって、github の webhook のタイミングを `master` に push した時だけに限定することはできません。 ただし、今回の場合は `master` に push された時のみ自動デプロイが実行されるようにすることが目標かと思います。 であれば webhook が実行された際に、どのブランチへの push かが判別できれば良いかと思います。 github では webhook を発火させる際に様々な情報を payload として json 形式で POST してくれますので、 ``` $json = json_decode($_POST['payload']); ``` で情報が取れてきます。 (どんな情報が取れるかは をご参照ください。) ブランチ名は ref に `refs/heads/{ブランチ名}` の形で入っているので ``` $target = $json -> ref; ``` としたらブランチの情報が取れてきます。 今回は master の時のみ実行なので、まとめて、 ``` ref !== 'refs/heads/master') { return; // ブランチが master 以外の場合は return して終了 } /*----------- ここまで追加 -----------*/ exec($git_command . ' --git-dir=' . $git_dir . ' fetch'); exec($git_command . ' --git-dir=' . $git_dir . ' --work-tree=' . $work_tree . ' checkout -f master'); $commit_hash = shell_exec($git_command . ' --git-dir=' . $git_dir . ' rev-parse --verify HEAD'); file_put_contents($log_file, date('r') . " Ref: " . $ref . " Commit: " . $commit_hash . "\n", FILE_APPEND); } ``` 以上のように書くことで、 master へのプッシュが発生した場合のみにデプロイを実行させることが出来るかと思います。