以下では、既存の TestRail を新しいバージョンにアップグレードする方法について説明します。
アップグレードの流れ
8.0.1 へのアップグレード手順は、現在ご利用の TestRail のバージョンによって異なります。
TestRail 5.7 または 6.3 からのアップグレード
TestRail 7.0.2 および 7.5.3 に段階的にアップグレード後、8.0.1 へアップグレードする必要があります。
7.0.2 へのアップグレード
-
- バックアップの取得
- インストール要件の確認
- ご利用環境が TestRail 7.0.2 のインストール要件を満たしていることを確認します。(PHP 7.0 のサポートが終了し、PHP 7.3 または 7.4 を利用する必要があります。)
- TestRail 7.0.2 にアップグレード
- インストールモジュールを配置後、WEB ブラウザから TestRail にアクセスして画面に従ってアップグレードの操作を行います。
- アップグレードは管理者ユーザーのみが実施できます。
詳細な手順は 7.0.2 用マニュアルの「TestRail のアップグレード」をご確認ください。
7.5.3 へのアップグレード
次項「TestRail 7.0.1 または 7.0.2 からのアップグレード」をご確認ください。
TestRail 7.0.1 または 7.0.2 からのアップグレード
TestRail 7.5.3 にアップグレード後、8.0.1 へアップグレードする必要があります。
-
- バックアップの取得
- インストール要件の確認
- ご利用環境が TestRail 7.5.3 のインストール要件を満たしていることを確認します。(TestRail 7.5.3 以降は Apache Cassandra をインストールする必要があります。)
- TestRail 7.5.3 にアップグレード
- インストールモジュールを配置後、WEB ブラウザから TestRail にアクセスして画面に従ってアップグレードの操作を行います。
- アップグレードは管理者ユーザーのみが実施できます。
- インストールモジュールを配置後、WEB ブラウザから TestRail にアクセスして画面に従ってアップグレードの操作を行います。
詳細な手順は 7.5.3 用マニュアルの「TestRail のアップグレード」をご確認ください。
TestRail 7.5.3 からのアップグレード
-
- バックアップの取得
- インストール要件の確認
- ご利用環境が TestRail 8.0.1 のインストール要件を満たしていることを確認します。(PHP 7.x のサポートが終了し、PHP 8.1 を利用する必要があります。)
- RabbitMQ は Webhook 機能を利用しない場合、インストール不要です。
- TestRail 8.0.1 にアップグレード
- インストールモジュールを配置後、WEB ブラウザから TestRail にアクセスして画面に従ってアップグレードの操作を行います。
- アップグレードは管理者ユーザーのみが実施できます。
- RabbitMQ は Webhook 機能を利用しない場合、設定は不要でスキップすることができます。また、アップグレード後、管理画面から有効化、RabbitMQ の設定を追加することも可能です。
- WEB ブラウザからのバージョンアップ完了後、DB マイグレーションスクリプトを実行する必要があります。
- マイグレーションスクリプトを実行しない場合、添付ファイル関連の操作ができません。
- インストールモジュールを配置後、WEB ブラウザから TestRail にアクセスして画面に従ってアップグレードの操作を行います。
詳細な手順は本ページ内の次項「バックアップ」以降をご確認ください。
バックアップ
新しいバージョンにアップグレードする前に、TestRail のファイルとデータベースのバックアップを作成することを強くお勧めします。アップグレードで問題が発生した場合、変更をロールバックして以前の (正常に動作する) バージョンに戻す唯一の方法はバックアップです。
TestRail のファイルとデータベースのバックアップを定期的に作成し、新しいバージョンにアップグレードする前にも作成することをお勧めします。
要件
TestRailのアップグレードを行う前に、8.0.1 の要件 および OS 固有の手順 (Windows/Linux) を確認してください。
PHPやSQLなどのTestRailが依存するソフトウェアは時間とともに変更されるため、TestRailをアップグレードする前に、これらの要件を確認することをお勧めします。
依存関係のアップグレード
PHP 8.1
TestRail には PHP 8.1 が必要です。アップグレードの最初の手順として PHP 8.1 をインストールします。
ここから公式の PHP ファイルをダウンロードします。
2023 年時点では、VS16 x64 Non Thread Safe がダウンロードの推奨バージョンです。インストール ガイドでは、このバージョンが使用されます。
ダウンロードが完了したら、zip 化された PHP ファイルをホスト システムの C:php に展開します。
環境変数を編集して 新しいパス システム変数 C:\php を追加します。
IIS でハンドラー マッピングを更新し、新しい PHP パスを追加します。IIS Manager に移動し、サーバー ホストをクリックして [Handler Mappings] をクリックし、[Add Module Mapping] をクリックします。
開かれたウィンドウで、次の画像に表示されているとおりにすべてのフィールドに入力し、[OK] をクリックします。
IIS Manager でサーバー ホストに戻り、[Default Document] をクリックします。Actions パネルで [Add] をクリックします。
[Name] フィールドに「Index.php」と入力し、[OK] をクリックします。もう 1 度 [Add] をクリックし、[Name] フィールドに「Default.php」と入力して [OK] をクリックします。
PHP info の診断を実行し、PHP のバージョンを確認するには、こちらの手順に従います。
PHP 拡張機能
Windows で SQL Server データベースと組み合わせて TestRail を使用するには、次の PHP 拡張機能が必要です。
-
- cassandra 拡張機能 – NoSQL データベースにアクセスするのに必要です
- gd PHP 拡張機能 – グラフの生成に使用します
- sqlsrv_81_nts_x64 PHP 拡張機能 – SQL Server データベースにアクセスするのに必要です
- pdo_mysql PHP 拡張機能 – データベースにアクセスするのに必要です
- fileinfo PHP 拡張機能 – ファイル タイプおよびエンコーディングの判断に使用します
- imagick PHP 拡張機能 – 画像の処理に使用します
- mbstring PHP 拡張機能 – Unicode 文字列の操作に使用します
- curl PHP 拡張機能 – アップデートの確認などに使用します
- openssl PHP 拡張機能 – SSL 接続の処理に使用します
- ioncube PHP ローダー – TestRail PHP ファイルのデコードに使用します
ダウンロードするには、PHP Microsoft drivers for SQL Server に移動、または こちら をクリックします。
ファイルを展開したら、次のファイルを C:\php\ext ディレクトリにコピーします。
-
- php_pdo_sqlsrv_81_nts_x64.dll
- sqlsrv_81_nts_x64
これらの拡張機能をインストールするには、php.ini ファイルに次の行を追加します。
-
- extension=pdo_sqlsrv_81_nts_x64
- extension=sqlsrv_81_nts_x64
imagick 拡張機能をインストールするには、公式のドキュメントの手順に従ってください。
Cassandra の前提条件および詳細なインストール/設定については、Cassandra のインストール手順を参照してください。
最後に必要な PHP 拡張機能はフリーの ionCube PHP ローダーです。Windows 用の ionCube ローダーはこちらからダウンロードできます。
このインストール手順は、Windows VC16 (Non-TS) (64 bits) の zip ファイル (ioncube_loaders_win_nonts_vc16_x86-64.zip) にある ‘ioncube_loader_win_8.1.dll’が必要です。すべてのファイルをサーバー上に展開し、ローダー拡張機能を PHP の ext ディレクトリ (通常は C:\php\ext) にコピーします。php.ini ファイル (インストールディレクトリ、通常は C:\php にあります) に次の行を追加して拡張をアクティベートします。
zend_extension = "C:\php\ext\ioncube_loader_win_8.1.dll"
Windows のコマンド プロンプトで php -v を実行すると、ionCube ローダー拡張機能が正常にインストールされたことを確認できます (コマンドを実行するには、PHP のインストール ディレクトリに移動する必要があります)。
php -v を実行し、次のように出力されていれば、ionCube ローダー拡張モジュールは正常にインストールされています (ionCube PHP Loader という文字列を含む行に注目してください)。
PHP 8.1.14 (cli) (built: Jan 4 2023 12:24:57) (NTS Visual C++ 2019 x64) Copyright (c) The PHP Group Zend Engine v4.1.14, Copyright (c) Zend Technologies with the ionCube PHP Loader v12.0.5, Copyright (c) 2002-2022, by ionCube Ltd.
IIS が拡張機能をロードできるようにするには、ionCube 拡張機能ファイルのパーミッションを変更する必要がある場合があります。それには、エクスプローラーでファイルをを右クリックし、[プロパティ] をクリックして [セキュリティ] タブを選択し、[Users] グループを追加します。
多くの拡張機能は自動的に追加されますが、追加で Cassandra、 IonCube、imagick のインストール手順を行う必要があります。PHP を手動でインストールした場合は、以下のように php.ini ファイルで必要な拡張機能を有効にする必要がある場合があります。
zend_extension = "C:\php\ext\ioncube_loader_win_8.1.dll" extension=cassandra extension=gd extension=fileinfo extension=imagick extension=mbstring extension=curl extension=openssl extension=pdo_sqlsrv_81_nts_x64 extension=sqlsrv_81_nts_x64
PHP をリロードするには、IIS Web サーバーを再起動する必要があります。最も簡単な方法は、World Wide Web Publishing Windows サービスを再起動することです。それには、[管理ツール] から [サービス] アプリケーションを開き、サービスを再起動しますこれにより、すべての IIS アプリケーション プールおよび Web サイトが再起動されます。このサーバーで他の Web サイトおよびアプリケーションをホストしている場合は、関連するアプリケーション プールだけを再起動するほうがよいでしょう。
インストール ファイルの置き換え
TestRail をアップグレードするには、TestRail のファイルを Web サーバーにアップロードして抽出し、既存のファイルを新しいバージョンのファイルに置き換える必要があります。
-
- バックアップを取得
- TestRail インストールディレクトリ内のファイルを削除
- TestRail 8.0.1 のモジュールを展開後、TestRail インストールディレクトリに配置
- 必要なファイル、ディレクトリをバックアップから復元
- config.php ファイル:必須
- バックアップから config.php を取得して、インストールディレクトリに再配置してください。
- logs, audit, reports, attachments ディレクトリ:必要に応じて
- これらのディレクトリが TestRail インストールディレクトリ内に配置されている場合はバックアップからコピーして再配置が必要です。
- config.php ファイル:必須
Web サーバーの設定によっては、Web サーバーがアクティブな間はファイルが上書きできない場合があります。その場合、TestRail のインストールファイルを置き換える前に Web サーバーを停止する必要があります。この問題は、主に Windows/IIS システムで発生します。アップグレードで問題が起きた場合は、Web サーバーを停止してからファイルをもう一度上書きしてください。
ファイルを置き換えたら、インスタンスのアップグレードは完了しています。 Web ブラウザーでインスタンスにログインし (通常は ‘http://localhost/testrail/’ 等)、正常にアップグレードされていることを確認します。
データベースのアップグレード
毎回というわけではありませんが、TestRail のアップグレードに伴って TestRail データベースもアップグレードする必要がある場合があります。データベースのアップグレードが必要な場合、Web ブラウザーで TestRail にアクセスすると、自動的にデータベースのアップグレード画面にリダイレクトします。データベースをアップグレードできるのは管理者だけであり、他のすべてのユーザーは、データベースのアップグレードが完了するまで TestRail にアクセスできません。
マイグレーションスクリプトを実行
TestRail のアップデートが完了し、Cassandra 設定が保存されたら、移行ツールを開始できます。移行ツールは既存の添付ファイルを SQL データベースから Cassandra データベースに移行します。
SQL Server のデータベース
> cd migration_script (folder in TestRail application) > php ./TestRailSqlToCassandraMigration.php -d2 -m"driver=sqlsrv;host=localhost;port=1433;database=testrail;user=testrail;password=123456789" -s"host=localhost;port=9042;keyspace=testrail;user=cassandra;password=cassandra" -i
このプロセスは数分かかる場合があります。移行が実行されている間、添付ファイルの代わりにアイコンしか表示されないことに注意してください。
スクリプトの実行に時間がかかる場合はトラブルシューティングの「マイグレーションスクリプト (TestRailSqlToCassandraMigration.php) の実行に時間がかかる」をご確認ください。
トラブルシューティング
マイグレーションスクリプト (TestRailSqlToCassandraMigration.php) の実行に時間がかかる
実行コマンドに ‘-a1000’ オプションを付与してください。
例:
php ./TestRailSqlToCassandraMigration.php -d2 -m"driver=sqlsrv;host=localhost;port=1433;database=testrail;user=testrail;password=123456789" -s"host=localhost;port=9042;keyspace=testrail;user=cassandra;password=cassandra" -i -a1000
添付ファイル機能関連の古いファイルを削除
既存の TestRail を新しいファイルで上書きした場合、次の 2 つの古いファイルを削除する必要があります。
-
- app/models/attachment.php
- app/helpers/attachments.php
CSV/XML インポートでファイルをアップロードすると画面が固まる
CSV/XML インポート時に、ファイルをアップロードすると画面が固まり、操作ができなくなることがございます。
[管理] > [サイト設定] > [セキュリティ] タブの “CSP – TestRail にリモート アドレスへのアクセスを許可する” でチェックボックスを有効化して TestRail をインストールしたサーバーのホスト情報を追加します。
レポートを表示しようとすると画面が固まる
レポート作成後、レポートを表示しようとすると画面が固まり、操作ができなくなることがございます。
[管理] > [サイト設定] > [セキュリティ] タブの “CSP – TestRail にリモート アドレスへのアクセスを許可する” でチェックボックスを有効化して TestRail をインストールしたサーバーのホスト情報を追加します
MAX_CHART_ROWS エラー
ダッシュボード画面を表示した際に、以下のエラーが表示されることがあります。
これを修正するには、インストールディレクトリの config.php ファイルに次の定数を追加します。
/* |-------------------------------------------------------------------- | OPTIMIZATIONS |-------------------------------------------------------------------- | | You can choose whether to optimize the delivery of style sheet and | javascript files and the handling of language files. The following | optimization settings are available: | | DEPLOY_OPTIMIZE_LANG: If enabled, TestRail uses a single combined | language file named 'all_lang' instead of | multiple language files. | | DEPLOY_OPTIMIZE_CSS: If enabled, a single combined style sheet | is served to the clients. | | DEPLOY_OPTIMIZE_JS: If enabled, a single combined javascript | file is served to the clients. */ define('DEPLOY_OPTIMIZE_LANG', true); define('DEPLOY_OPTIMIZE_CSS', true); define('DEPLOY_OPTIMIZE_JS', true); define('MAX_CHART_ROWS', 150000);