【実践FuelPHP】gitで管理するFuelPHPプロジェクトをつくろう

2014.01.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

FuelPHPを業務で使う上で、必要となってくるのがgitでの管理。
ウェブアプリといえど、ソース管理をしないと怖い。
ということで、さっくりとgitでFuelPHPのプロジェクトを管理する手法をメモしておきます。
多分、他の人もこんなかんじで管理してるんでしょ?って方法です。
何番煎じ位な感じなので、別にこの方法じゃなくても管理できるはずですが、とりあえず・・・

FuelPHPのファイル群をsubmodulesとして管理する

いろいろ考えた挙句、gitでソースコードをそのまま引っ張ってくることが便利というところに行き着きました。
が、メンテナンス性を考えると、そのままファイル郡をsubmodule化するほうが楽かと。
バージョンの問題等でどうしても使わなきゃいけない以外は最新版を使えば問題なさそうですし。

まずは、FuelPHPのgitリポジトリから最新のものを取得します。

git clone git://github.com/fuel/fuel.git sample_project

sample_projectは好きなプロジェクト名をつけます。プロジェクト名に合わせたディレクトリが作成されます。
その後、このプロジェクトを別の空プロジェクトに登録するため、現在のルートのリポジトリと要らないファイル群を削除します。

cd sample_project
rm -rf .git .gitmodules
rm -rf *.md

サブモジュールとして登録するパッケージは一旦邪魔なので削除する

rm -rf docs fuel/core fuel/packages

管理する今回管理するプロジェクトのgitリポジトリを作成します。

git init

さっき削除したサブモジュールパッケージを、ここで登録します。

git submodule add git://github.com/fuel/core.git fuel/core
git submodule add git://github.com/fuel/oil.git fuel/packages/oil
git submodule add git://github.com/fuel/auth.git fuel/packages/auth
git submodule add git://github.com/fuel/parser.git fuel/packages/parser
git submodule add git://github.com/fuel/orm.git fuel/packages/orm
git submodule add git://github.com/fuel/email.git fuel/packages/email

この方法で同じようにすることで、他のgithubのパッケージを登録することができます。
続いて、他のパッケージをgit file郡としてcommitします。

git add .
git commit -m "first"

これで、準備が整いました。
他の人は、今回の追加したFuelPHPファイル群をgit cloneするだけで使用することができます。

最後に設定も併せてしましょう

というわけで、このままだとトップページがエラーで表示されません。
ログファイル系の書き込みができないと言われるので、フォルダの設定を行うコマンドを使用しましょう。

oil refine install

さらに、インストールしている状態では、Timezone系のエラーが出ることがあります。
/fuel/app/config/config.php の下記箇所をコメントアウトして修正します。

// 'default_timezone'   = null,
'default_timezone' = 'Asia/Tokyo',

せっかくので文字コードも修正します。

//'encoding'      = 'UTF-8',
'encoding'         = 'UTF-8',

このファイルをcommitしてpullすることで修正が完了します。