はじめに
こんにちは、エンジニアの濱地です。
突然ですが、baserCMS5系には、
- 公式サイトからダウンロードできる「パッケージ版(配布版)」
- GitHubから取得できる「Git版」
の2種類の入手方法がありますが、知っていますか?
この2つは実際に触ってみると、ディレクトリ構造やアップデート方法などに違いがあり、
- どちらを使えばいいのか?
- なぜ構造が違うのか?
と迷うことがありました。
そこで今回、baserCMSのコアデベロッパーである、ベーサーファウンデーション副理事長の桃井さんにお話を伺いながら、パッケージ版とGit版の違いについて整理してみました!
まず結論
| 種類 | 主な用途 |
|---|---|
| Git版 | 開発・検証・複数人開発 |
| パッケージ版 | サイト構築・CMS利用 |
Git版とは
Git版は、「複数人でソースコードを共有しながら、ローカル環境を統一して開発・検証を行いやすい構成」になっています。
開発者の桃井さんによると、
とのことでした。
Git版の特徴
- baserCMS本体は /plugins/baser-core
- baserCMS本体やプラグインの開発・検証向けの構成
- テスト環境が整っている
- モノレポ構成で管理されている
baserCMSはCakePHPのプラグインとして動いている
Git版の構造を理解する上で重要なのがここです。
baserCMSは、PHPフレームワークであるCakePHP上で動作しており、CakePHPのプラグインとして実装されています。
そのため、
- /plugins 配下に本体が存在する
- フレームワーク構造に従う
という構成になっています。
CakePHP
└ plugins
└ baser-core
├ src
├ tests
├ config
└ plugins
以前の baserCMS は独自のパッケージとして構成されていましたが、現在の baserCMS5 は CakePHP のプラグインとして動作する構成になっています。
そのため、Git版では /plugins/baser-core 配下に baserCMS 本体が配置されています。
また、CakePHPの公式サイトでも CakePHP のプラグインとして紹介されていますよ!
パッケージ版とは
パッケージ版の特徴
- 管理画面からアップデートが可能
- サイト構築に必要なファイルのみが含まれている
パッケージ版では、Git版と同様のbaserCMS関連のパッケージは vendor/baserproject 配下で管理されています。
インストール時に、公開用のリンクが webroot 配下へ生成されます。
そのため、実際には webroot/baser_core や webroot/bc_blog などのパスからアクセスできるようになっています。
.htaccess を通して index.php が呼ばれ、CakePHPの仕組みでルーティングが行われる仕組みです。
ディレクトリ構造の違い
■ Git版
/plugins/baser-core
■ パッケージ版
/vendor/baserproject/baser-core
↓
インストール後
/webroot/baser_core
Git版とパッケージ版を比較すると、含まれているパッケージは似ていますが、配置場所が異なっていることが分かります。
これは、
- Git版 → Git管理などしやすい、開発がしやすい構成
- パッケージ版 → 利用しやすい構成
という違いによるものです。
また、Git版の特徴として、「モノレポ構成」で管理されている点もあります。
(ちなみに)モノレポとは?
Git版では、「モノレポ」という構成で管理されています。
これは、複数の関連パッケージを1つのリポジトリでまとめて管理する構成です。
モノレポ構成(イメージ)
1つのリポジトリ
├ baser-core
├ bc-mail
├ bc-blog
├ bc-search-index
関連パッケージをまとめて管理する構成です。
詳しくは、公式ドキュメントの「baserCMS パッケージ構成(モノレポによるパッケージ管理)」をご覧くださいm(_ _)m
アップデート方法の違い
パッケージ版では、管理画面からアップデートが可能です。
一方、Git版については、サーバー上でコマンドを実行する方法でバージョンアップをします。
※ どちらの構成でも、バージョンによってアップデートサポーターが必要です。
それぞれのアップデート方法については次の記事でご紹介できればと思っています!
■ アップデートサポータープラグイン
└ baserマーケット
└ Github
どちらを使うべき?
用途によって使い分けるのがおすすめです。
- 開発・検証(複数人で環境を共有) → Git版
- サイト制作 → パッケージ版
まとめ
baserCMS5のパッケージ版とGit版は、単なる配布形式の違いではなく、「用途の違い」がありました。
- Git版 → 開発・検証向け
- パッケージ版 → サイト構築・利用向け
「サイト構築をしたい!」や、「baserCMSの機能を利用してシステムを構築するぜ!」などの
目的に応じてbaserCMSを使い分けて、レッツエンジョイbaserCMSライフ!ヽ(=´▽`=)ノ
関連リンク
baserCMSやWebサイト構築のご相談など
お気軽にお問い合わせください