2007-10-26
■[プログラミング全般]XREAでSubversion(SVN)を使ってソースコード管理を行う方法についてのメモ。
接続方式についてはsvn+sshとし、SVNクライアントについてはTortoiseSVNを利用。
Subversion利用までの大まかな流れは以下の通り。
- TortoiseSVNのインストール
- XREAサーバへのSSH接続許可ホスト登録
- SVNがインストールされているかどうか確認
- リポジトリの作成
- SVNサーバへの接続(パスワード認証)
- サーバへの接続(鍵認証)
1.TortoiseSVNのインストール
TortoiseSVNのインストールについては以下のサイトが丁寧で分かりやすい。
2008/05/16追記
VistaへのTortoiseSVNインストールについて書きました。OSがVistaの方はこちらも合わせてご覧ください。
2.XREAサーバにSSH接続許可ホスト登録を行う
svn+sshでSVNを利用するためには、サーバにSSH接続出来なくてはならない。
XREAサーバはSSH接続元ホストが制限されているため、サーバにSSHで接続するためには、事前にホスト登録が必要。
という事で、XREAの管理画面から[ホスト情報登録]→[SSH登録]でホスト情報を登録。
一度登録してしまえば30日間有効だが、接続元ホストを変更したい場合(例えば、普段は自宅から接続していて、学校からも接続したい場合など)は、その都度登録しなおす必要あり(反映に5分〜10分かかる)。
3.SVNがインストールされているかどうか確認
古いXREAサーバにはSVNがインストールされていない場合があるようなので、
念のためSVNがインストールされているかどうか確認する。
#svn --version
SVNのバージョンについて、色々と表示されればOK。
4.リポジトリの作成
ホームディレクトリにsvnというディレクトリを作成し、
その中に新規リポジトリmyrepo(適当な名前で良い)を作成。accountの部分には自分のアカウントを入力。
# mkdir /virtual/account/svn
# cd /virtual/account/svn
# mkdir myrepo
# svnadmin create myrepo
lsコマンドを実行すると以下の様なファイル、ディレクトリが作成されていることが確認できる。
# ls myrepo
README.txt conf dav db format hooks locks
5.SVNサーバへの接続(パスワード認証)
TortoiseSVNを利用してのSVNサーバへの接続。パスワード認証を使った一番簡単な接続方法。
TortoiseSVNの設定画面を開き、[ネットワーク]メニューの「SSH クライアント」の項目に以下を入力。
account、passwordはそれぞれ自分のアカウントとパスワード。
[TortoisePlink.exeへのパス] -ssh -l account -pw password
例)C:\Program FilesにTortoiseSVNをインストールした場合
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -ssh -l account -pw password
ここで、4で作成したリポジトリに接続出来るかどうかを確認する。
右クリックメニューから[TortoiseSVN]->[リポジトリブラウザ]を選択。URLに以下を入力。
svn+ssh://hostname/virtual/account/svn/myrepo
hostnameはサーバのホスト名(account.s999.xrea.comなど)。
エラーが出ることなく接続できればOK。ちなみにまだリポジトリに何もインポートしていないため、ファイル等は表示されない。必要に応じてファイルをインポートすれば、バージョン管理に追加することが出来る。
6.SVNサーバへの接続(鍵認証)
5の方法では、SSHクライアントの設定部分に生のパスワードを記述しなくてはならずセキュリティ上好ましくない上に、複数のSVNサーバに接続する際に、その都度アカウント名とパスワードを書き換える必要があるので面倒。
PuTTYを使って公開鍵認証を行う事でこの辺の問題はある程度解決出来る。
この方法については以下のサイトに詳しく書かれている。
色々と省略した部分もあるけど、こんな感じで利用できるはず。
- 34 http://discypus.jp/wiki/?ソフト/Bug Tracking/trac/未整理2007
- 30 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=subversion+ホスト&num=50
- 19 http://www.google.co.jp/search?q=xrea+subversion&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 18 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GGIH_jaJP209JP209&q=svn+ssh+公開鍵認証方式
- 17 http://www.google.co.jp/search?hl=ja&client=firefox&rls=org.mozilla:ja:official&hs=gXK&q=xrea+svn&btnG=検索&lr=lang_ja
- 14 http://www.google.co.jp/search?q=XREA+svn&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 11 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=lTz&q=svn+ssh+認証&btnG=検索&lr=lang_ja
- 9 http://www.google.co.jp/search?q=xrea+svn&sourceid=navclient-ff&ie=UTF-8&rlz=1B2GGGL_jaJP213JP213
- 6 http://b.hatena.ne.jp/courant/xrea/
- 6 http://www.google.co.jp/search?sourceid=navclient&aq=t&hl=ja&ie=UTF-8&rlz=1T4GFRD_ja___JP257&q=xrea+svn