WEB制作会社がGIT導入に向けての業務フロー整理をした話
GIT導入にあたり社内の運用ルールを考えてみた
■導入にあたる動機
・ファイルサーバ枯渇問題(画像ファイル、スクリプトファイルなどごった煮状態)
・作業コンフリクトの不明なままきえてしまう
・開発環境の統一化
・Gitいいって聞く
■運用環境条件
・ローカル開発環境 - ファイルサーバ(プロジェクトディレクトリ別)
・ローカル統合開発環境 社内ファイルサーバファイルの操作を行う
・部署ごとで、サーバ、ローカル等の運用がばらばら
・個人作業用はWINDOWS、MAC、VMWARE(CENT OS)の環境あり
・現在はSVNで、作業後コミット、作業前updateの運用ルール
・プロジェクト基本メンバー(プロジェクトの大小によりヘルプスタッフは相互変動)
* デザイナー
主な拡張子 .psd .tiff .ai .jpg .zip
* HTML・フロントエンド
主な拡張子 .js .html .css .scss .psd to .jpg
* サーバ、バックグラウンド、アプリケーションエンジニア
主な拡張子 .pl .ctp .js .php .rb .sql .mwd
■運用前条件
・フロントエンドエンジニアの編集ファイルは、ローカルサーバファイルを直接変種している
■運用案
・PSDなどのでかいバイナリファイルはファイルサーバでバックアップでバージョン管理をしない (別の方法を考える)
・プライベートリモートリポジトリーホスティングサーバ VPSサーバにgitlab構築
・ローカルサーバをdebelopマージ環境にしてローカルサーバで編集作業やめる
・GIT操作環境 ー sourcetree or コマンドライン
■運用フロー(各部署での使い方、GIT知識の共有などは、今後の検討課題)
・ リポジトリ管理者が、リモート、ローカルメインのリポジトリの作成
・ GIT FLOWでの運用形態を真似てみる
http://keijinsonyaban.blogspot.jp/2010/10/successful-git-branching-model.html
・ プロジェクト毎にリポジトリ作成
・ プロジェクト規模により、構築スタイルは柔軟に検討する
・ マージは各々ローカルで作業実施する
・ テスト公開時にdevelopでマージしてチェック
・ 本番環境は原則masterをpullのみ
■移行の課題
GITを使い出すというテーマで一旦考えたのみ ー> メンバーのGITリテラシーを上げていく
■理想、希望
・ローカル端末リポジトリをプロジェクト全員が持ち、ローカルサーバをリポジトリをサブステージ環境とできるような運用形態が理想とは思うが、windowsでの環境統一は現実的でないし、非エンジニアでCENTOSってのも何か違うかなぁ..と思う
→ローカルで確認出来る環境をつくるしかないかなとも思う
・PSD管理もGITに含め、バックアップファイルを極力小さく管理できる方法などは、いかにしたらいんだろうか....
GITへの学習アレルギー、SVNとの今後の展望の違いを理解してもらい浸透を進めていく
メリット ー> 分散管理による、開発環境の管理軽減
ー> データの保全性の向上
デメリット ー> 操作の学習コスト、運用形態の均一化
ー> SVNで慣れている作業に対しての不満
ー> 分散化による管理ルールの再構築