Ruby > Webサイトをgithubで管理してpush時に自動的に同期するやつ(phpとjekyll版)

GitHub側


リポジトリのトップページで、Settings → Webhooks & Services → Add webhook
Payload URLにphpのURLを書く。
Secretにパスワードを書く。


Webサーバ側



Webサイトをgithubで管理してpush時に自動的に同期する方法 - Blog by Sadayuki Furuhashiを見て以来、いつかやろうと思いつつ、なんだか複雑そうだから放置していたが重い腰をあげて取り組み出した矢先、さくらのレンタルサーバではデーモンを常時起動はできないということが分かり、なんだできねーじゃんと諦めていたら、githubにpushしたらサーバーに自動で同期される感じのやつ - 酢飯をおかずにご飯を食べる。で、php版が紹介されていて、あれ?できるのかと懲りずに試してみたら、phpからシェルコマンドを実行するというか、apacheユーザにhome配下のgitやjekyllを実行させるのが一苦労だった。

gitやjekyllのインストールについてはこっち→で済んだという前提。

ところで、jekyll build って、destination の中身を delete しちゃうのね。知らなかった怖いわー。ということで、いったん別ディレクトリにjekyll buildしたのち、rsyncでコピーするようにした。

その他参考


用途

jekyllでホームページを管理してるけど、ローカルのPCがスペック低いのでbuildに時間がかかってストレスだった。
これでbuildはサーバに任せて、git pushするだけでようなった。それからGitHubをホームページ管理のWebインターフェースとして使える。スマホでも更新できるぜ!
最終更新:2015年11月10日 23:29