OroPlatformベースのアプリケーションをアップデートしてみよう
この記事は公開から 1年以上が経過しています。現在の最新情報との整合性については弊社では一切の責任を負いかねます。
今回はOroPlatformをベースにしたアプリケーションのアップデート方法についてご紹介します。
OroPlatformは、PHPフレームワーク・Symfonyをベースに開発されたビジネスアプリケーションフレームワークです。
基本的にこのエントリでご紹介する方法で、OroCRMやOroCommerce、Akeneo PIMなどもアップデートが可能です。
アップデートを行う前に
今使っているバージョンの確認
OroPlatformには、2017年3月現在で、1系と2系があります。
2系は主にOroCRMやOroCommerceで使われていますが、ほかのアプリケーションでは多少異なります。
今回はOroPlatform 1系同士、2系同士のアップデートについて取り上げます。
OroPlatform 1系から2系へのアップデートについては対象外なので、ご注意ください。
バックアップの作成
作業前にバックアップを作成しておきましょう。
壊しても良い環境の場合は取らなくても良いですが、稼働中の環境の場合は必ず事前にプログラムとデータベースのバックアップを作成し、不測の事態に備えましょう。
アップデート作業の実施
バックアップが作成できたら、アップデート作業に取り掛かりましょう。
できれば作業者以外の人がシステムにアクセス出来ないよう、アクセス制限を掛けたり、Cronジョブを止めておくことをおすすめします。
composer.json の確認
まず最初に、composer.jsonの内容を確認します。特に何もカスタマイズしていない場合は問題ありませんが、追加機能をインストールしている場合や、独自機能をcomposer経由でインストールしている場合にはcomposerがそれらのバージョンの依存関係をアップデート前にチェックするので注意が必要です。
もし、どれか1つでも依存関係が正しく解決できない場合は、処理が途中で止まります。
この時点でアップデート先のバージョンに利用しているモジュールなどが対応しているかをチェックしておいたほうが良いでしょう。
(もちろん、composerの指示に従って、1つずつ解消しても構いません)
composer update の実行
アップデートを行う際は、composerでupdateコマンドを実行するだけです。
composer update
だけで本来は良いのですが、関連するライブラリが多いため、PHP側のメモリが不足しがちです。
例えば以下のようにメモリ上限を一時的に引き上げるオプションを指定することで、エラーにならずにアップデートができるでしょう。
php -dmemory_limit=3072M /pat/to/composer update
途中経過が知りたい場合は、
php -dmemory_limit=3072M /path/to/composer update -vvv
のように出力オプションを追加することで、詳しい経過を知ることができます。
コマンドを実行してから終了するまでにかかる時間はサーバー性能によって変わるので、気長に待ちましょう。
キャッシュなどの削除
composer update が完了したら、以下のコマンドを実行し、キャッシュやCSSなどを削除します。
rm -rf app/cache/* rm -rf web/js/* rm -rf web/css/*
コマンドの実行を間違えると大変なことになるので、実行の際は十分気をつけてください。
app/console でアップデート処理
最後にデータベースやアプリケーションのアップデートを行います。
php app/console oro:platform:update --env=prod
を実行すると、データベースやアプリケーションのアップデートが行われます。
うまくいかない場合は、
php app/console doctrine:schema:validate php app/console doctrine:schema:update
で、データベースに対して行われる変更内容などをチェックしてみてください。
動作チェック
すべての作業が完了したら、動作チェックを行います。
OroPlatformベースのアプリケーションは、JavaScriptを多用しているので、サーバーサイドとクライアントサイドのどちらで問題が起きるかわかりにくい側面があります。
ブラウザの開発者ツールを表示した状態で、エラーなどが起きていないか細かくチェックしましょう。
- お知らせ (34)
- Magento Open Source (169)
- Adobe Commerce (86)
- Magentoトピックス (349)
- Magentoバージョンアップ (11)
- OroCommerce (1)
- AkeneoPIM (16)
- Shopware (26)
- 世界のプライバシー保護規制 (11)
- OroCRM (14)
- Typo3 (9)
- イベント (27)
- Mage-OS (1)
- エクステンションリリース情報 (75)
- Mautic (1)