2台の外部VPS同士のSVN mantis連携のやり方

By | 2013/09/02

お久しぶりです。
リプレーションのインフラ担当SE、utunです。

今回は外部VPS2台を利用した、mantisサーバとSubversionサーバの連携方法について、適当な感じに書いていきます。

mantisとsvnの用意

まぁ特に語ることはありません。
色んな所で紹介されているので、適当にインストールして下さい!

mantisとsvnの連携

さて、本題になります。
やりたいことは、

SVNにコミットしたら、Mantisにメッセージが出るようにしたい

ってことですね。
これも実は色んな所で紹介されています。
紹介されてるんだけど・・・。

大抵同じサーバ上にある前提

なんですよねぇ・・・。

諸々の都合で、サーバが分かれてる事って結構あると思います。
更に、SVNサーバは複数あるけど、Mantisは一台でやりたいってこともあると思います。

そんな時に、結構ある以下のコマンドでは不都合なんです。
# svnlook info “$REPOS” -r “$REV” | /usr/bin/php /var/www/html/mantis/scripts/checkin.php
これをpost-commitに書けばおk!
って言われても、
Mantisサーバは別にあるんですけど・・・。
そんな経験、貴方にもありませんか?

しかし、要はMantisの中にある「checkin.php」に「svnlook info」の内容を渡せればいいんです。
なので、簡単に言うとこんな感じにすれば出来ちゃいますよ!
# svnlook info -r $REPOS $REV | ssh -i /path/to/priv.key svn@mantis.server “/usr/bin/php /var/www/html/mantis/scripts/checkin.php”

うん。
sshさんはほんとに便利な子や・・・。
でも、このコマンドでやる場合は、以下の注意点があるので、ちゃんとやってね!
1、svnユーザがpriv.keyで、パスフレーズなしでアクセスできるようにしておくこと。
2、svnユーザはパスフレーズ無しな上、鍵のパスがセキュリティ的にいまいちなとこに置かれるので、この処理以外には使えないように細工しておくこと。

そんな感じ。
今回は大した内容でもないので、さらっと終了しておきます!

蛇足

9/1に江の島付近に行きました。
しかし、あまりの渋滞で、「付近」で引き返してきました・・・。
よく考えたら夏休み最後の日だったのか・・・。

コメントを残す

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