こんにちは!イッシーです(。・ω・)ノ゙
この度の東日本大地震により、被災されました方々に心よりお見舞い申し上げます。
株式会社プラスアールではささやかながら東日本大地震チャリティとして「禁煙なう」ダウンロード数に応じ上限20万円(1万DL)を日本赤十字社に寄付させていただきます。
僕は生産設備を持っていませんので食料をはじめとした物流における支援は難しいのかもしれません。しかしながらシステムエンジニアとして間接的な支援や情報における支援はできます。僕は、天災における「破壊」を修復するのは人々の「生産」と考えるとともに、その「生産」の一部分を担う者として頑張っていきたいと思います。
さて、突然ですが皆さんはバージョン管理に何を使ってますか?プラスアールではGitでバージョン管理をしてます。大抵の方はGitを使っている、もしくはSubversionからGitへの乗り換えを希望しているのではないでしょうか?
そこで今回はGit!といきたいところですが、Subversionもまだまだ現役だと思いますので、Subversionでバージョン管理する方法をまとめておきたいと思います。
- 開発サーバーにターミナルでログインしての作業になります
- 分からない人は分かる人に補助してもらってください
- 解説は、プロジェクト名:sample.plusr.biz、ユーザ名:ishimotoとしてます
- ルート権限で作業します
■サーバー側
Subversionは中央集権的に管理するシステムです。大概はサーバーが必要になります。
【step1】グループを作る
プロジェクト名と同じ名前のグループを作りましょう。重複を防ぐためにもドメイン名が最適です。
【step2】グループにユーザを追加
グループにプロジェクトユーザを加えます。
以下のコマンドでも同様の操作が可能ですが、今まで追加したグループを列挙しなければなりません。
【step3】リポジトリ作成
以下のコマンドを実行しリポジトリを作成します。
mkdir /usr/local/development/repos/sample.plusr.biz/trunk
mkdir /usr/local/development/repos/sample.plusr.biz/tags
mkdir /usr/local/development/repos/sample.plusr.biz/branches
【step4】権限設定
グループのユーザに書き込み権限を与えます。
chgrp -R sample.plusr.biz /usr/local/development/repos/sample.plusr.biz/
【step5】インポート
デフォルトの初期状態の雛形がある場合は以下のコマンドでインポートします。
svn import A B でAをBにインポートします。
【参考】
■Windowsクライアント側
クライアント側も基本的にはコマンドで操作可能ですが、TortoiseSVNなどを利用すると非常に作業が楽になります。
【step1】TortoiseSVNのインストール
サイトからダウンロードしてきてインストールします。
サーバのSSHのポートを変更している場合
C:\Users\[your name]\AppData\Roaming\Subversion\configの[tunnels]セクションに以下を追記します。
【step2】puttyのインストール
step2までの手順で使用することはできますが、接続の度に煩雑なパスワード入力が必要になりまし、SSHで接続する際に鍵を使用している方はputtyを使用した方が断然に楽に作業できますので、サイトからダウンロードします。
次にダウンロードしたファイル内の「plink.exe」を「C:\WINDOWS\system32」にコピーしてください。
【step3】puttyの設定ファイルの編集
コマンドプロンプトで以下のコマンドを実行し、svnのconfigファイルのパスを探しconfigファイルを編集します。
出力したフォルダの中の「Subversion\config」ファイルを編集します。以下の記述を
以下のように記述します。
#ssh=$SVN_SSH ssh
【step4】秘密鍵の登録
puttyフォルダのpageant.exeを起動し、タスクトレイから右クリックで「AddKey」を選択しパスワードを入力します。
【使用方法】
- リポジトリの追加
- エクスプローラ上の何も無い部分で右クリック > チェックアウト
- コミット等の操作
- 編集したファイル・ディレクトリで右クリック > コミット
【参考】
- Windows7で秘密鍵とポート指定を使ったsvn+sshを行う(TortoiseSVN)
- Macで秘密鍵とポート指定を使ったsvn+sshを行う
- WindowsでSubversionを使う:TortoiseSVNでバージョン管理
■Macクライアント側
Macはデフォルトでsvnコマンドが使用できます。しかし、TortoiseSVNが存在しませんので個人的な趣味によりEclipseのプラグイン(Subversive)を使用します。Windows版のEclipseでも同様に使えるので好みに応じて使い分けると良いかもしれません。
【使用方法】
- リポジトリの追加(SVNリポジトリのビュー上)
- 新規 > リポジトリ・ロケーション > 必要項目の入力 > 右クリックしてチェックアウト
- コミット等の操作(プロジェクト・エクスプローラのビュー上)
- 右クリック > チーム > コミット
※コミットをはじめロックの取得など操作が可能
サーバのSSHのポートを変更している場合
Subversiveを使用するときには問題ありませんが、コマンドラインから操作する場合にはポートの指定で上手くいかないかと思います。以下のコマンドを実行して設定ファイルを編集します。
[tunnels]セクションに以下を追記します。
すると以下のコマンドでチェックアウトなどの操作ができるようになると思います。
いかがでしょうか?多少粗雑な部分もあったかと思いますが参考にしていただければと思います。実は自分のプロジェクトでは諸事情によりまして1プロジェクトだけSubversionを使用してますが、今後はGitに統一します。次回はGitでのバージョン管理を解説できればと思います。