SCM-Managerをインストールして、Mercurialのリポジトリを公開する

MercurialのリポジトリをApacheで公開して見ました。
Mercurialをインストールし、Apacheで公開する(Debian-squeeze)


調べてみると、SCM-Managerというリポジトリを公開するアプリケーションがあるようです。
http://www.scm-manager.org/

Mercurialだけではなく、GitやSubversionのリポジトリも公開可能な模様。
インストールして試して見ました。


今回はTomcat7をインストールし、warアーカイブを使用しています。
公開サーバーはDebian(squeeze)に作成しました。







インストール



当然、mercurialが必要です。


# apt-get install mercurial





Tomcat 7の環境作成はこちらを参考に。
DebianにOpenJDK + Tomcat 7 + Solr 3.5.0 の環境を構築する


以下、手順を抜粋しておきます。


openjdk-6をインストール。


# apt-get install openjdk-6-jdk




/usr/local/jakartaディレクトリを作成し、Tomcat 7.0.28をダウンロード、展開。
/usr/local/jakarta/apache-tomcat-7.0.28に/usr/local/tomcat7というリンクを貼ります。


# mkdir /usr/local/jakarta
# cd /usr/local/jakarta/
# wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-7/v7.0.28/bin/apache-tomcat-7.0.28.tar.gz
# tar zxf apache-tomcat-7.0.28.tar.gz
# ln -s /usr/local/jakarta/apache-tomcat-7.0.28 /usr/local/tomcat7





起動用のファイルを作成。


# vi /etc/init.d/tomcat7




内容は以下のとおり。


#! /bin/sh
### BEGIN INIT INFO
# Provides: tomcat7
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: tomcat7 servlet server
# Description: tomcat7 servlet server
### END INIT INFO

DESC="tomcat7 servlet server"
NAME=tomcat7
DAEMON1=/usr/local/tomcat7/bin/startup.sh
DAEMON2=/usr/local/tomcat7/bin/shutdown.sh
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
export TOMCAT_HOME=/usr/local/tomcat7

. /lib/lsb/init-functions

case "$1" in
start)
    echo -n "Starting servlet server: $NAME"
    $DAEMON1
    ;;
stop)
    echo -n "Stopping servlet server: $NAME"
    $DAEMON2
    ;;
*)
    echo "Usage: $SCRIPTNAME {start|stop}" >&2
    exit 1
    ;;
esac
exit 0






作成したら実行権限をつけておきます。


# chmod +x /etc/init.d/tomcat7






ここまで準備できたら、SCM-Managerのwarアーカイブをダウンロードします。
なお、ダウンロードページはこちら。
https://bitbucket.org/sdorra/scm-manager/wiki/download


tomcatのwebappsディレクトリに移動し、「-O scm.war」オプションを付けてダウンロード。
/usr/local/tomcat7/webapps/scm.war
という構成になります。


# cd /usr/local/tomcat7/webapps/
# wget -O scm.war http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.17/scm-webapp-1.17.war




ここまでできたら、tomcatを起動。


# /etc/init.d/tomcat7 start




起動すると、scm.warが自動的に解凍され、
/usr/local/tomcat7/webapps/scm
というディレクトリが出来上がると思います。


これでインストール完了です。









使い方



こちらが非常に参考になりました。

SCM-Manager first steps
http://www.youtube.com/watch?v=XMvx50lOFwY


ブラウザからhttp://(サーバーIP):8080/scm/を表示します。
※/scm/は、webappsに「scm.war」というファイル名でアーカイブを保存したからです。
scm-webapp-1.17.warで保存していれば、http://(サーバーIP):8080/scm-webapp-1.17/となります。

初期ユーザー名、パスワードは
Username:scmadmin
Password:scmadmin
でログインできます。

94_001.png



まず、リポジトリが作成されるパスを指定します。
[Config]-[Repository Types]を表示し、Mercurial SettingsのRepository directoryを
任意のパスに変更します。

94_002.png



次に、[Main]-[Repositories]を表示し、「Add」をクリックします。

94_003.png



Nameに任意の名称を入力し、TypeをMercurialに変更します。
また、テストのためPublicにチェックをつけておきました。
OKを押すと、リポジトリが作成されます。

94_004.png



リポジトリが作成されたので、URLのリンクをクリックしてみます。

94_005.png


見慣れた画面が表示されました。

94_006.png









EclipseプラグインからのPush



Mercurialをインストールし、Apacheで公開する(Debian-squeeze)
ここで行ったのと同様に、EclipseプラグインからサーバーにPushしてみます。

リポジトリロケーションは、SCM-Managerでリポジトリを追加した時に
表示されていたURLを指定します。

ユーザー名、パスワードはSCM-Managerで管理しているユーザーとなります。
とりあえずログインの時使用したscmadminと入力しました。

94_007.png



確認画面が表示されますので、完了を押してPushを実行します。

94_008.png






ちゃんとPushされたか見てみます。
SCM-Managerの画面に戻り、「Source」のリンクをクリック。

94_009.png



特に文字化けもなく登録されています。

94_010.png

94_011.png




試してみた感想ですが、非常にお手軽で画面もわかりやすくお勧めです。
ユーザーアカウントのActiveDirectory連携が行えるプラグインもあるようですし、
もう少し調べてみようと思います。


関連記事

コメント

非公開コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
Symfoware まとめ

PR




検索フォーム

月別アーカイブ