またまたこんにちは!エンジニアのはまちです!
baserCMS5には、「パッケージ版(配布版)」と「Git版(開発版)」の違いがあります。
前回記事:開発者に聞く!baserCMS 5系のパッケージ版とGit版の違い
baserCMS5では、構成によってアップデート方法が異なります。
この記事では、Git版(開発版)のアップデート方法をご紹介します。
(5.2.2 → 5.2.4 と 5.2.3 → 5.2.4のバージョンアップ時の内容ベース)
パッケージ版でも管理画面でアップデートできない!という時は、
Git版(開発版)の流れでやる方法もあります。
本記事内で一緒にご紹介していますので、ぜひご覧いただけますと嬉しいです。
※「パッケージ版」と記載が分かれていないところは、Git版と同じ流れになります。
パッケージ版のアップデート方法は下記↓に記事を分割しています。についてご紹介します。
▶ パッケージ版のアップデート方法記事↓
【パッケージ版】baserCMS5のアップデート方法!
アップデート方法のおさらい
| 構成 | アップデート方法 |
|---|---|
| パッケージ版 | 管理画面から実行 |
| Git版(開発版) | 手動更新(Composer利用) |
Git版(開発版)のアップデート
Git版(開発版)では、管理画面からアップデートは行わず、最新版ファイルの配置とComposerを利用してアップデートします。
Git版(開発版)で構築されている場合、アップデート画面を開くと「手動アップデート手順」が記載してあります。
また、前回の記事でご紹介した通り、Git版(開発版)には
pluginsフォルダにbaserCMSのコアが入る構造になっているので、今この環境はGit版?パッケージ版?とどっちを使っているのか分からないときにはそちらも参照いただけると嬉しいです。
アップデートの流れ
記載されていた手動アップデート手順をなぞりますが、ちょっと噛み砕いた下記順番で進めます。
1. アップデートサポータープラグインで問題がないか確認
2. 最新版の composer.json / composer.lock を配置
3. plugins ディレクトリ内の baserCMSコアのプラグイン群を手動で入れ替え
4. vendor ディレクトリを退避
5. composer install 実行でアップデート
6. BcUpdateSupporterプラグインで、アップデートスクリプトを実行
7. BcUpdateSupporterプラグインで、データベースのバージョンを更新
1.アップデートサポータープラグインで問題がないか確認
アップデートサポータープラグインをインストール、有効化して、
必要な改善がないかを確認(解消)してからアップデートしましょう
【URL】/baser/admin/bc-update-supporter/support/index
ボタンポチで「改善実行」して、適用させてからアップデートへ進みましょう
▶ githubからダウンロード
https://github.com/baserproject/BcUpdateSupporter
▶ baserCMSマーケットからダウンロード
https://market.basercms.net/products/detail.php?product_id=164
▶ 参考:baserCMS5系公式ガイド「BcUpdateSupporter をインストールする」
https://baserproject.github.io/5/migration/ver523_migration
2.アップデート画面を開く
3. 最新版の composer.json / composer.lock を配置
composer.json / composer.lock を配置します。Git版(開発版)
ちなみに、baserCMSの開発は随時進んでいるので、
「バージョン番号-dev(開発番号)」となる場合があります。
最新版のバージョンのタグを選んでダウンロードすることをオススメします。
(今回は5.2.4のタグを指定してダウンロード)
▶ Git版(開発版)
https://github.com/baserproject/basercms/
パッケージ版
パッケージ版で構築されたbaserCMS(「手動アップデート」の方法が表示されない)であれば、
公式サイトから最新版をダウンロードしてくださいね。
▶ 公式サイト:最新バージョンダウンロードページ
https://basercms.net/packages/download/basercms/latest_version
4.plugins 内のbaserCMSコアのプラグイン群を手動で入れ替え
Git版(開発版)では、baserCMS本体や関連プラグインが plugins 配下に含まれています。
そのため、Composerを実行するだけでは plugins/baser-core などのコアファイルは更新されません。
plugins 配下のbaserCMSコア関連プラグイン群を入れ替えます。
※パッケージ版はこの手順はスキップしてもOKです。
// plugins_bakというフォルダ名に変更
$mv plugins plugins_bak
//pluginsフォルダ(空)作成
$mkdir plugins
最新版のGit版(開発版)からplugins配下のbaserCMSコア関連のプラグイン郡を配置します。
plugins/baser-core
plugins/bc-admin-third
plugins/bc-blog
plugins/bc-content-link
plugins/bc-custom-content
plugins/bc-editor-template
plugins/bc-favorite
plugins/bc-front
plugins/bc-installer
plugins/bc-mail
plugins/bc-search-index
plugins/bc-seo
plugins/bc-theme-config
plugins/bc-theme-file
plugins/bc-uploader
plugins/bc-widget-area
※ 独自プラグイン(コア関連に関係なく入れていたプラグイン)は退避したplugins配下から戻しておくことをお忘れなく!
※ アップデートサポータープラグインも戻しておきましょうね
5.vendor ディレクトリを退避
「手動アップデート手順」には一旦削除とありますが、万が一を考えて、バックアップ(退避)しておいた方が心臓には優しいです。
既存の vendor を退避します。
// vendor_bakというフォルダ名に変更
$mv vendor vendor_bak
// vendorフォルダ(空)作成
$mkdir vendor
6.composer install 実行でアップデート
$composer install
通常はこちらで問題ありません。
※ Docker環境を利用している場合は、ComposerコマンドはホストOSではなくコンテナ内で実行します。
サーバー環境によっては、開発用パッケージ(require-dev)のインストール時にエラーとなる場合があります。
その場合は、開発用パッケージを除外して実行します。
$composer install --no-dev
今回の環境では composer install のみでアップデートできましたが、
以前対応した環境では xdebug などの開発用拡張がインストールされておらず、エラーとなってアップデートできなかったので、composer install --no-dev を利用してアップデートを行った経緯があります。
途中、「baserCMSが必要なディレクトリに書き込み権限を付与しますか?」と聞かれますが、
通常はYで問題ありません。
不安な場合は事前にバックアップを取得してから実行しましょう。
> App\Console\Installer::postInstall
Set Folder Permissions ? (Default to Y) [Y,n]? Y
No Security.salt placeholder to replace.
最新版ファイルの配置漏れやComposer実行の結果を確認してください。
7.BcUpdateSupporterプラグインで、アップデートスクリプトを実行
今回のアップデートでは必要ありませんでした。
環境や、場合によっては、
アップデートサポータープラグインの「スクリプト実行」が必要になる場合があります。
その場合は対象バージョンを選択して実行してください。
【URL】/baser/admin/bc-update-supporter/support/script
8. BcUpdateSupporterプラグインで、データベースのバージョンを更新
今回、データベースのバージョンが変わっていなかったので、アップデートサポータープラグインの「DBのバージョン番号更新」をします。
今回バージョン5.2.4にしたので、「5.2.4」と入力して、実行します。
【URL】/baser/admin/bc-update-supporter/support/script
キャッシュクリアしたら消えます。
お疲れ様でした。
パッケージ版とGit版の違い
アップデート方法の違いをまとめると、以下のようになります。
| 違い | パッケージ版 | Git版(開発版) |
|---|---|---|
| アップデート方法 | 管理画面から実行 | 手動更新 + Composer |
| 操作画面 | GUI中心 | CLI中心 |
| アップデート手順 | 管理画面で完結 | ファイル配置が必要 |
まとめ
baserCMS5には、
- 管理画面アップデート
- Composerアップデート
という2つのアップデート方法がありました。
パッケージ版では管理画面からアップデートできるため、比較的手軽に更新できます。
一方で、Git版(開発版)では最新版ファイルの配置とComposerによる更新が基本となります。
今回のアップデート方法をまとめた本記事では、パッケージ版とGit版(開発版)の両環境で、
5.2.2 → 5.2.4 と 5.2.3 → 5.2.4 で実際に検証した内容をもとに紹介しました。
DBやプログラムのバックアップは忘れずに!安心安全なベーサーライフを♪
関連記事
https://baserproject.github.io/5/functions/baser-core/auto_update
baserCMSやWebサイト構築のご相談など
お気軽にお問い合わせください