WordPressnのチーム開発について

  
先日、WordBench神戸に参加した時、「WordPressでサイトを作る時にテスト環境でお客様に見てもらって、本番にアップするが、このテスト環境と本番の同期に関して」の質問がありました。
その時にチーム開発や開発の方法と管理について私自身、それでここ数年間、四苦八苦しながら開発してきた事をもっと伝えればよかったかも?と思ったので今回まとめてみました。

私は普段、WordPress専属で開発をしているのですが、関わる案件のほとんどが規模が大きいサイトで、チーム開発になります。

当然、規模が大きいので、開発も1次開発、2次開発と多岐に渡るます。だから環境は開発用のサーバー、テストサーバー、本番サーバーと複数あり、それぞれGitで管理してます。

当然、チーム開発になるのですが、Webチームなので、デザイナーさん、コーダーさんの数が多くエンジニアは多くて2人、大概は私一人(;^_^A
なので、サーバー構築や設計、WordPress構築、サイト設計、プラグイン開発と私がやります。それはいいんですが、難しいのがバージョン管理=Gitで、WordPressをバージョン管理しようと思うと、めんどくさい事が多いil||li (っω-`。)il||li

まず、各サーバーで設定が違うのでwp_config.phpは管理対象外。当然ですね(笑)それ以外のコアファイルは全く問題なしなんです。問題は管理画面上で設定するカスタムメニューとかなんです。

なんで?データベース流し込めばいいやん!と思うんですが、1次開発と2次開発でデータベースに差分が出ると下手に流し込めない。
開発サーバーのデータベースにはこのテーブルあるけどテストサーバーはないよ!っていう事も当然あります。

じゃぁ、開発サーバーで開発したメニューはどうやってテストサーバーに持っていくの?(´・ω`・)エッ?もしかして毎回管理画面で設定作る?でもそれは事故になる可能性が高いので、却下です。
じゃぁ、WordPressにあるimporterで移行すれば!と思うかもしれませんがメニューだけをエクスポートってできないのです。
(これもこないだちょっとだけWordBench神戸で話題になってました。)

じゃぁどーすんのさっ!
そうですね、イケてないですが、わかってますが、テンプレートに直書きするしかありません。直書きすればGitで上げれるので事故は起こりませんね。

こうなると、何の為のWordPressや!となりますが、でも、事故はダメ!

結局、最終的にはデータベースには差分が出るので、データとして登録されない様に開発しないといけなくなってくる。
メニューやウィジェットも使わずに直書きしないといけない。
それってWordPressでやる意味あるのか、チーム開発でバージョン管理すべきなのか、難しいところです。

リスクを最小限に抑える為には、構築の仕方CMSの選択を良く考える必要があるかもしれませんね。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中