2009年11月09日

【読了】Subversion実践入門【五】

会社での私の役割の一つに「システム開発環境を整える」という、いわゆる「雑用」とか「共通作業」と呼ばれる仕事がある。
システム開発の規模は千差万別なわけだが、比較的小さなPJ(受注数億円ぐらい)だと、そういう「プログラマがシステムを構築する以外の作業をする専門部隊」を設けるほど人員の余裕がない。
そこで何でも屋にならざるを得ない発注側の下っ端がその役割を負うわけだ。

そんなPJの「共通作業」の一つに、プログラマと密接に関わって大切な作業となるのが構成管理。
要は多数の人が共通の成果物を更新しながら作り上げていくシステム開発において、何が最新なのか、今システムとして動いているのはどのバージョンの物なのか、きっちり管理する必要がある。
この分野は非常に奥が深くて、それを専門とする学問分野が一つあるほどだ。

ここで重要な役割を果たすのが、構成管理ツール。
PJによってどれを選択するかは千差万別で、私の周りのPJを見渡すだけでも、CVS、VSS、StarTeam、Subversionなどがある。
# こういうものはPJ横断的に共通化してノウハウを共有した方が全体として効率が上がると思うのだが、それはまた別の話。

前置きが長くなったが、そんな構成管理ツールとして、現在メジャーなSubversionを解説したのが本書。




Subversionはオープンソースの世界で広く使われているためか、Webには情報があふれているけれど、本としてまとまった情報は少ない。
Webで探すのもよいけど、玉石混合の世界から自分の必要な情報を選り分けるのは骨が折れる。
特にUNIX/Linuxならともかく、巷にあふれるWindowsでのサーバ構築方法などは、鮮度よく、わかりやすく、フォローできるような情報はさらに何倍も骨が折れる。
本書はそういう中にあって、よくまとまった情報源だ。情報も比較的新しくて、今の最新バージョンでも特に困らない。

Linuxメインで使っている方はどうか知らないが、私のようなWindows一辺倒の人間にとっては、Subversionのコマンド操作はそれほど重要でない。
そのあたりは、SubversionのクライアントソフトとなるTortoiseSVNがエクスプローラ統合の右クリック一つで何でもできる環境を提供してくれているため、何の不便もないのだ。

ただ、複数人で使おうとなると、クライアントソフトだけのローカルリポジトリでは支障が出る。
SubversionとApacheを組み合わせてサーバを立てねばならぬ。
サーバ側で日々のバックアップや最新版の更新などの作業を自動化するためには、コマンドを駆使してbatファイルでタスク登録せねばならぬ。
LinuxではなくWindowsで扱うためには、それ相応の作法を知らねばならぬ。

こういう物はWebで一つ一つ探し、ヘルプを読み込み、実験を重ねて、ようやく使えるものを作っていくのだが、本書があればその筋道は丁寧に解説されているので、あとは舗装するための追加情報をWebで探せばよい。
たとえ、そのままでは満足に通れない獣道であったとしても、進むべき方向や使われている言葉がわかっているかどうかは、目的地にたどり着く上で大きな差となる。

また、複数人が関わる作業で最重要なのはその運用方法を決めることである。
構成管理にも、trunkやtagsやbrancheをどのように利用するのか。
そもそもログの残し方はどうするのか。
言っても聞かない人がいそうなら、サーバ側でルールに従わない人をブロックする仕組みが必要か。
そういえばISO対応はどうするのか(品質保証部に相談だ)。
etc,etc...
新しくシステムを導入しようとすると、考えるべきことは山のようにある。

そういう基本的な運用に関しても、本書はよい道筋を与えてくれる。
全体を丁寧に隅から隅まで読む必要はなくて、必要な部分をつまみ食いでも十分役立つ。
これから構成管理の面倒を見なければならない人はもちろん、対象が自分一人であっても、先人が築いた標準的ルールに沿うことは効率性から言って決して無駄にならない。
まず、おすすめできる良書であった。




posted by K大 at 00:28 | Comment(0) | TrackBack(0) | 本を楽しむ
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.sakura.ne.jp/tb/33514649
※ブログオーナーが承認したトラックバックのみ表示されます。