WEB制作会社がGIT導入に向けての業務フロー整理をした話

GIT導入にあたり社内の運用ルールを考えてみた

■導入にあたる動機

・ファイルサーバ枯渇問題(画像ファイル、スクリプトファイルなどごった煮状態)

・作業コンフリクトの不明なままきえてしまう

・開発環境の統一化

・Gitいいって聞く

■運用環境条件

・ローカル開発環境 - ファイルサーバ(プロジェクトディレクトリ別)

・ローカル統合開発環境 社内ファイルサーバファイルの操作を行う

・部署ごとで、サーバ、ローカル等の運用がばらばら

・個人作業用はWINDOWSMACVMWARE(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 コマンドライン

 http://www.sourcetreeapp.com/

 

■運用フロー(各部署での使い方、GIT知識の共有などは、今後の検討課題)

・ リポジトリ管理者が、リモート、ローカルメインのリポジトリの作成

・ GIT FLOWでの運用形態を真似てみる

http://keijinsonyaban.blogspot.jp/2010/10/successful-git-branching-model.html

・ プロジェクト毎にリポジトリ作成

・ プロジェクト規模により、構築スタイルは柔軟に検討する

・ マージは各々ローカルで作業実施する

・ テスト公開時にdevelopでマージしてチェック

・ 本番環境は原則masterをpullのみ

 

■移行の課題

GITを使い出すというテーマで一旦考えたのみ ー> メンバーのGITリテラシーを上げていく

SVNから、GIT移行時に発生するツールの差分

 

■理想、希望  

・ローカル端末リポジトリをプロジェクト全員が持ち、ローカルサーバをリポジトリをサブステージ環境とできるような運用形態が理想とは思うが、windowsでの環境統一は現実的でないし、非エンジニアでCENTOSってのも何か違うかなぁ..と思う

 →ローカルで確認出来る環境をつくるしかないかなとも思う

・PSD管理もGITに含め、バックアップファイルを極力小さく管理できる方法などは、いかにしたらいんだろうか....

 

GITへの学習アレルギー、SVNとの今後の展望の違いを理解してもらい浸透を進めていく 

メリット  ー> 分散管理による、開発環境の管理軽減

      ー> データの保全性の向上

      

デメリット ー> 操作の学習コスト、運用形態の均一化

      ー> SVNで慣れている作業に対しての不満

      ー> 分散化による管理ルールの再構築