目的にあわせたサイト設計が決まり、実際の制作にとりかかりはじめたWeb制作会社新人社員の「りん」。早速、制作を始めるときに気をつけなければいけないことを、わかる人にしかわからない小ネタをはさんでくる上司「はやせ」に聞いてみることにしたのでした。
はやせさーん、今いいですかー?
ごめん! 今ランニングマンの練習してるんでちょっと待ってて!
(ランニングマン?! 手足が長くて胸毛が生えてる芸人の?!)
お、おまたせー…。やっぱがんちゃんのようにはいかないか……それで、どしたの?
クライアントのWebサイトを、実際に制作し始めているんですが、このままザクザク作っていっていいのでしょうか?何か注意しなきゃいけないこととかありますか?
そうだねー。最悪の事態を回避できるように、最初に仕込んでおくべきことがあるんだよね。
制作していて一番最悪なことってなんだと思う?
えーと……上司がわかりにくいギャグを言いまくっていて、からみにくくて仕事が進まないことですかね?
うんっ(はーと)
冗談です(半分本気だけどな! )
ワープロソフト(表現古っ)や表計算ソフトとかでもそうなんですけど、何か作っている時に「あれ? パソコン立ち上がらない? しかもハードディスクのところから超イヤな音してるんですけど?」とか「あ、やばい。いろいろ変えて上書き保存したら見事に壊れたし、元に戻せなくなったし!!」みたいなことが起きると最悪ですね。
そうだね。もし仮に納期まであと少しのときに、開発サーバーで9割型完成しているにもかかわらず「サーバーのデータふっとんだー!! ぎゃあーーーーー」みたいなことになったら、クライアントにも大迷惑かけるし、自分たちも寝ずの作業になっちゃうよね。
そうですね……想像しただけでぞっとしますね……。そうならないようには、どういう方法をとるのがよいですか?
そうだね。そういうときは……
「バージョン管理システムぅーーー(ドラ◯もん風)」だよ、の◯太くんっ。
(……は?)
バージョン管理システムってなんですか?
いろいろ作業していく上で、「誰が」「いつ」「なにを変更したか」を管理できるシステムなんだ。
作業した履歴を残していきながら進めるから、「この時の状態に戻したい」とか「この状態のものを分岐して新しいものを作る」など安全にできるんだ。
あとは、別サーバーなど作業環境とは異なるところに情報を残していくから、万が一作業環境のデータが壊れたとしてもすぐ復旧できる。それに「誰が」の部分では、複数人で一つのものを管理することに適しているような仕組みがあったりするよ。
そういう仕組があれば、万が一のときも「オッス! オラ、データ復旧のために7つのボールを集めにいってくるぜ! 」みたいなことにならなくて済みそうですね。
有名なバージョン管理システムとしては、Subversionや最近だとGitなんかがよく使われるね。
あとは、Gitの仕組みを利用した、誰でもプログラムコードやデザインデータなどを保存・公開することができる「GitHub(ギットハブ)」というWebサービスもあって、Webサービス開発やWeb制作にもよく使われているね。
もちろん、公開するといっても有料で非公開のプロジェクトも作れるから安心。ほかにも、同じようにGitを使ったサービスとして、「Bitbucket」というのも有名かな。
(せっかくボケてみたのに、スルーされたよ……)
なるほどー。サーバーにインストールして使うだけじゃなく、バージョン管理システムにもWebサービス型があるんですね。世の中クラウドクラウドいうわけですね。
それじゃ、実際にCMSを使ったWebサイト制作に使うには、どういったものをバージョン管理していけばいいと思う?
うーんと、CMSのテンプレートやJavaScriptなどのライブラリファイル、画像ファイル、可能なら加工した元ファイルとかも管理したいなぁ……。
そうだね。CMSのテンプレートなんかはプログラム的なところがあるから、確実にバージョン管理したいね。
画像の管理に関して言うと、元ファイルなんかは容量も大きいし、実際にサイト上で使う画像だけを管理したほうがいいかな。
それじゃ、実際にMovableType.netにあるGitHub連携機能を例に、説明してみようか。
はい、お願いします!
「プルルー、プルルー(電話の音)」
あ、ごめん。電話かかってきたみたい。
「はい。え? 牛と電車が追突して電車が動かない? 分かった!迎えにいくわ」
あー、今日は用事できちゃったから、続きはまた今度ね。ごめんねー。
わかりました。また明日よろしくお願いしますー。
牛が轢かれた? どこの田舎? など、仕事とは関係ない疑問が残りつつも、バージョン管理の大切さを知ったりん。実際はどうやるのかなーと妄想しながら帰宅するのであった。
次回は、実際にGitHub連携で管理する具体的な方法の例をご紹介します。
執筆者紹介
早瀬将一
シックス・アパートにて、主にWebサービス型CMS「MovableType.net」の製品企画を担当しています。個人活動として、大学時代から音を中心としたインタラクティブ作品を制作。音に限らない作品やソフトウェアも作ってます。詳しくはWebで!