Subversionのインストール
Subversionはチーム開発を行うための、ソース管理システムです。
ソースコードの集中管理では、現在でも最もスタンダードな形で利用されています。
今回の導入は「CentOS6.2」への導入を実施します。
CentOS6.2 では epel のリポジトリがデフォルトで導入されている為、特に指定せず「yum」だけでのインストールが行えます。
# yum -y install subversion # rpm -qa subversion subversion-1.6.11-2.el6_1.4.x86_64
CentOSでは開発環境を入れていればデフォルトで入っていることもありますが、上記のような手順で導入を行います。
また、TCPで接続可能な「Svnserve」を実施するため、以下のxinet経由での接続を実施します。
# yum -y install xinetd # vi /etc/xinetd.d/svn 以下のファイルを作成 ------------------------ service svn { disable = no port = 3690 socket_type = stream wait = no user = svn server = /usr/bin/svnserve server_args = -i -r /var/svn --config-file /var/svn/svnserve.conf log_on_failure += USERID #only_from = 127.0.0.1 } ------------------------ # /etc/init.d/xinetd start # chkconfig xinetd on
上記で、SVNの接続は可能です。
リポジトリの作成
さて、ここででプロジェクト管理の基本単位であるリポジトリの作成を行います。
# su - svn $ svnadmin create /var/svn/test-project $ cd /var/svn/test-project/conf $ cp -p svnserve.conf svnserve.conf.org $ vi svnserve.conf $ diff svnserve.conf svnserve.conf.org 以下が変更点 ------------ 12,13c12,13 < anon-access = none < auth-access = write --- > # anon-access = read > # auth-access = write 20c20 < password-db = /var/svn/passwd --- > # password-db = passwd ------------ $ cp svnserve.conf /var/svn
また、上記で指定しているユーザのアカウント&パスワードファイルを以下に作成いたします。
$ cd /var/svn/ $ vi passwd 以下を作成 ------------ [users] test-user = test-passwd ------------ $ chmod 600 passwd $ exit
svnのパスワードは平文での保存となります。
上記のプロジェクトでは「svn://サーバドメイン/test-project」でSVNでの接続が実施できます。
WebSVNのインストール
SVNでのバージョン管理の際に閲覧などが、HTTPベースで楽に実施可能なWebSVNの導入を行います。
まず、apache、PHP関連のインストールから実施します。
# yum -y install httpd httpd-devel mod-ssl # yum -y install php php-mbstring php-devel php-xml php-gd php-mcrypt php-pear # chkconfig httpd on
続いてwebsvnの導入を行います。
# yum -y install websvn # cd /etc/httpd/conf.d/ # cp -p websvn.conf websvn.conf.org # vi websvn.conf 「allow from」に接続元のIPを追加
そして、細かなコンフィグの設定を行います。
# cd /etc/websvn # cp -p config.php config.php.org # vi config.php # diff config.php config.php.org 以下が変更点 ------------ 31c31 < $config->setSvnConfigDir('/tmp'); --- > // $config->setSvnConfigDir('/tmp'); 35,36c35,36 < $config->setSVNCommandPath('/usr/bin/'); // e.g. c:\program files\subversion\bin < $config->setDiffPath('/usr/bin/'); --- > // $config->setSVNCommandPath('Path/to/svn/command/'); // e.g. c:\program files\subversion\bin > // $config->setDiffPath('Path/to/diff/command/'); 39,40c39,40 < $config->setEnscriptPath('/usr/bin/'); < $config->setSedPath('/bin/'); --- > // $config->setEnscriptPath('Path/to/enscript/command/'); > // $config->setSedPath('Path/to/sed/command/'); 43c43 < $config->setTarPath('/bin/'); --- > // $config->setTarPath('Path/to/tar/command/'); 46c46 < $config->setGZipPath('/bin/'); --- > // $config->setGZipPath('Path/to/gzip/command/'); 49c49 < $config->setZipPath('/usr/bin/'); --- > // $config->setZipPath('Path/to/zip/command/'); 81d80 < $config->addRepository('TEST-PROJECT', 'file:////var/svn/test-project'); ------------
「http://サーバドメイン/websvn/」の形でブラウザから接続が行えます。
初期でプロジェクトをWebSVNから確認すると以下のようになります。
こちらにプロジェクトを追加していきます。
Eclipseで作成したプロジェクトをSVNで共用
Eclipseを使ったSVNの利用方法を以下に記します。
Eclipseはpleiadesを利用するため、初期からプラグインが多く入った状態で利用できます。
SVNでは「Subversive」というプラグインを使った管理を行っています。
まず、Eclipseでプロジェクトの作成を行い、右クリックから「プロジェクトの共用」を選択します。
続いてリポジトリタイプの選択ですが、「SVN」を選択します。
SVNのロケーションとしては「SVN://ドメイン名/プロジェクト名」を入力します。
ユーザとパスワードは作成したユーザ名での接続を行います。
ここで、ロケーションの指定を再度確認されますが、以下の項目を入力し、推奨されたレイアウトの使用を行います。
最初のプロジェクトのコミットになるため、コメントを入力してSVNでの共有を実施します。
こちらで初回のプロジェクトの共用化と登録は完了です。
2回目以降のコミットの際にはプロジェクトを右クリックして、「コミット」を実施します。(ファイル保存後)
コミットにあたってはコメントを入れるとチーム利用としては分かりやすくなります。
また、リソースのファイルをダブルクリックすると、修正内容が表示されます。
また、上記の登録されたプロジェクトをWebSVNで確認すると以下のように、HTTPでの確認が実施できます。