docker-compose で構築した環境を TestRail 9.4.1 へアップグレードする方法について説明します。
前提
9.4.1 へのアップグレード手順は、現在ご利用の TestRail のバージョンによって異なります。
TestRail 7.0.2 からアップグレードする
TesRail 9.4.1 へ直接アップグレードするためのスクリプトを利用する必要があります。
テクマトリックス TestRail ユーザーページから以下の2点をダウンロード、もしくはこちらまでお問い合わせください。
-
- TestRail 9.4.1 のインストールモジュール
- 添付ファイル移行スクリプト
アップグレードの方法は添付ファイル移行スクリプト内のドキュメントをご確認ください。
TestRail 7.5.3 以降のバージョンからアップグレードする
TestRail 9.4.1 へアップグレードするには TestRail 8.0.4 を経由する必要があります。以下の流れでアップグレードを進めてください。
-
- 前準備
- アップグレードに必要な docker-compose を入手します。
- バックアップの取得
- 旧環境の削除
- TestRail 8.0.4 へのアップグレード
- TestRail 9.4.1 へのアップグレード
- Cassandra の廃止
- 前準備
詳細な手順は本ページ内の次項「TestRail のアップグレード」以降をご確認ください。
TestRail のアップグレード
前準備
docker-compose をテクマトリックス TestRail ユーザーページからダウンロード、もしくはこちらまでお問い合わせください。
-
- TestRail Server (docker-compose バージョンアップ用)
- 以下 2つの docker-compose が含まれます。
- testrail-docker-ja-master_804
- testrail-docker-ja-master_941
- 以下 2つの docker-compose が含まれます。
- TestRail Server (docker-compose バージョンアップ用)
バックアップ
アップグレード前にデータのバックアップを取得します。
アップグレード前の testrail-docker-ja-master ディレクトリから以下のディレクトリのコピーを取得します。
-
- testrail-docker-ja-master\”{任意文字列}_config”
- testrail-docker-ja-master\”{任意文字列}_cassandra”
- testrail-docker-ja-master\”{任意文字列}_mysql”
- testrail-docker-ja-master\”{任意文字列}_opt”
- testrail-docker-ja-master\”{任意文字列}_rabbitmq”
旧環境の削除
-
- アップグレード前のコンテナ、ボリューム、ネットワークを削除します。
docker-compose down -v
- アップグレード前のイメージを削除します。(イメージの名前はご利用環境に合わせてください。)
docker rmi testrail-docker-ja-master_srv testrail-docker-ja-master_db testrail-docker-ja-master_cassandra rabbitmq
- アップグレード前のコンテナ、ボリューム、ネットワークを削除します。
TestRail 804 へのアップグレード
-
- testrail-docker-ja-master_804 内の Dockerfiles ディレクトリで旧環境の testrail-docker-ja-master\Dockerfiles を上書きします。
- testrail-docker-ja-master\.env ファイルの TESTRAIL_VERSION を更新します。
TESTRAIL_VERSION=8.0.4.7036
- docker-compose で起動します。(パッケージのダウンロードやビルドが実行されるため初回起動は 10 分程度必要です。)
docker-compose up -d
- ホスト側から TestRail 用のコンテナに入ります。
docker exec -it <testrail のコンテナ名> bash
- TestRail をアップグレードします。
cd /var/www/testrail/ php run.php update
- アップグレード完了後、WEB ブラウザから TestRail にアクセスして [管理] > [概要] > [情報] に表示されるバージョンを確認します。
- 初回アクセス時に必ず WEBブラウザのキャッシュをクリア してください。
TestRail 9.4.1 へのアップグレード
-
- 旧環境の削除 に従って、TestRail 8.0.4 の環境を削除します。
- testrail-docker-ja-master_941 内の Dockerfiles ディレクトリで旧環境の testrail-docker-ja-master\Dockerfiles を上書きします。
- testrail-docker-ja-master\.env ファイルの TESTRAIL_VERSION を更新します。
TESTRAIL_VERSION=9.4.1.1002
- docker-compose で起動します。(パッケージのダウンロードやビルドが実行されるため初回起動は 10 分程度必要です。)
docker-compose up -d
- ホスト側から TestRail 用のコンテナに入ります。
docker exec -it <testrail のコンテナ名> bash
- TestRail をアップグレードします。
cd /var/www/testrail/ php run.php update
- アップグレード完了後、WEB ブラウザから TestRail にアクセスして [管理] > [概要] > [情報] に表示されるバージョンを確認します。
- 初回アクセス時に必ず WEBブラウザのキャッシュをクリア してください。
- config.php に chrome headless shell のパスを追加します。
- ホスト側から TestRail 用のコンテナに入ります。
docker exec -it <testrail のコンテナ名> bash
- config.php を開きます。
cd /var/www/testrail/config vi config.php
- Chrome Headless Shell のパスの設定を追加します。
define('TR_CHROME_PATH', '/usr/bin/chrome-headless-shell-linux64/chrome-headless-shell');
- ホスト側から TestRail 用のコンテナに入ります。
Cassandraの廃止
TestRail Server 9.4 から、添付ファイルが格納される場所は Cassandra から MySQL に移行します。9.4 には、既存の添付ファイルを Cassandra から MySQL にコピーできる移行スクリプトが用意されています。
※本操作は TestRail 7.5 以降のバージョンから TestRail 9.4 にアップグレードした場合にだけ必要です。
移行はいつでも都合のよいときに実行できます。ただし、次のリリース (TestRail 9.5) からは、移行が完了していることがアップグレードの条件になります。移行が完了していない場合、移行が完了するまで、TestRail 9.5 および以降のすべてのアップデートをインストールできません。
バックアップの取得
TestRail のファイルとデータベースのバックアップを作成します。
※v9.4.1 アップグレード作業前にバックアップを取得している場合でも、v9.4.1のアップグレード後のバックアップを再取得してください。
移行スクリプトの実行
添付ファイルデータの格納先を Apache Cassandra から MySQL に移行するためのスクリプトを実行します。
-
- ホスト側から TestRail 用のコンテナに入ります。
docker exec -it <testrail のコンテナ名> bash
- deprecation_script フォルダーに移動します。
cd /var/www/testrail/deprecation_script
- 次のコマンドを使用して必要な依存パッケージをインストールします。
composer update
- config.ini ファイルを開きます。
vi config.ini
- データベースに接続するための認証情報を変更します (パスワードに特殊文字が含まれている場合は、二重引用符で囲みます)。.env ファイルをデフォルトで利用している場合は以下の設定になります。
[SQL] host = db databaseName = testrail user = testrail password = testrailpass port = 3306 driver = mysql [CASSANDRA] host = cassandra databaseName = user = cassandra password = cassandra port = 9042 keyspace = testrail [ATTACHMENT] path = /opt/testrail/attachments/
- 前のステップがすべて正常に完了したら、Apache 起動ユーザーで TestRailCassandraDeprecation.php スクリプトを実行します。
sudo -u www-data php TestRailCassandraDeprecation.php
- コマンド実行後、コンソールに出力される内容を確認してスクリプトの実行します。
Welcome! We are about to start the Cassandra deprecation process. Please note that after deprecating Cassandra, our Team won't support downgrades to versions of TestRail with Cassandra. Do you still want to continue? Please type YES or NO. yes Please confirm the source and target databases: SOURCE: [Cassandra Information] Host: cassandra Keyspace: testrail User: cassandra Port: 9042 TARGET: [SQL Information] Host: db Database Name: testrail User: testrail Port: 3306 Driver: mysql Do you confirm? Please type YES or NO. yes The migration process may take a long time. So that we can notify you once it is completed, Would you like to configure an SMTP server before proceeding? no All ready to start Cassandra deprecation. The first step will be to migrate to the target database. This will be done in the background and may take a long time. Do you want to start? Please type YES or NO. yes
- remove_cassandra_attachments.php を実行して不要なファイルを削除します。
sudo -u www-data php remove_cassandra_attachments.php /opt/testrail/attachments
- ホスト側から TestRail 用のコンテナに入ります。