«

»

10月 01

WebサーバのコンテンツをMercurialでバージョン管理する

Webサーバにデータをscpで転送する毎日に嫌気がさしたので、こういうことをやってみました

1.Bitbucketにmysiteというパブリックリポジトリを作成
2.更新したらコミットしてpushする
3.自動的にpullしてupdateする

みたいな。
@flyingfoozy 様に教えていただいたのですが、やはりcronでやるとかRSSでやるとか以外には方法はないみたいです。

RSSを使う方法にしました。BitbucketのリポジトリページのRSSを、CUIのRSSリーダのsnownewsに食わせます。
まずncursesをインストールします。デフォルトでDebianにはlibncursesw5が入っているのですが、なぜかそれでもncurses.hがないと怒られてmakeできませんでした。。 (考えてみたら -devじゃないといけなかったのかな?)
仕方ないのでこちらもソースからコンパイルします。URIはこちら。 http://ftp.gnu.org/pub/gnu/ncurses/

今度はlibxmlをインストールします。libxml2は入っていたのにエラーが出たので、libxml2-devを入れてみて再コンパイル。…が、変わらない
xmlparse.h:29:27: error: libxml/parser.h: No such file or directory
こんなエラーが出ます。
仕方ないのでまたまたソースからコンパイル… (このディストロDebianじゃありませんでしたっけ?) ftp://xmlsoft.org/libxml2/
が、かわらない。。。なんだと。。。

というわけで、私の技術ではどうしようもなさそうだったので諦めてcron使うことにしました。
$ hg pull -u -R /var/www/mysite bb://mysite
これをcronさせます。
$ crontab -u lga128 -e

*/2 * * * * hg pull -u -R /var/www/mysite bb://mysite
を最後に入れて保存。(2分間隔でも怒られないよね…?)
動くことが確認できました。便利ですね!! cronが動くたびにメールが飛ぶのがうざいのでどうにかします。
*/2 * * * * hg pull -u -R /var/www/mysite bb://mysite > /dev/null 2>&1

出来上がり!! Bitbucket様に負荷がかからないことを祈ります。。

Permanent link to this article: http://lga128.nekobaka.net/2012/10/web_mercurial/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次の HTMLタグおよび属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Time limit is exhausted. Please reload the CAPTCHA.