docker-compose を利用して TestRail をインストールする方法については以下を参照してください。
注意事項
docker-compose は Linux 環境のみ本番運用をサポートいたします。
-
- Windows 環境 (Docker for Windows) でも動作することを確認していますが、本番運用はサポートいたしません。評価目的のみでご利用ください。
要件
-
- Docker 、 docker-compose を利用できる環境であること
- Docker の基本知識があること
- Docker公式ドキュメントはこちらにあります。
準備
testrail-docker-ja-master_<version>.zip を任意のディレクトリで展開します。
Linux 環境でご利用の場合、ホスト側のディレクトリのパーミッションを確認してください。(www-dataが望ましいです。)
設定
.env ファイルを利用環境に合わせて変更します。
-
- WDPATH を docker-compose.yml の配置場所を絶対パスで指定するように変更してください。
- HTTP のポートを変更したい場合は、.env ファイルで HTTP_PORT を 追記して指定します。
- デフォルトは、8000 ポートを利用します。
HTTP_PORT=8000 DB_USER=testrail DB_NAME=testrail DB_PWD=testrailpass DB_ROOT_PWD=techmatrix RABBITMQ_USER=testrail RABBITMQ_PWD=testrail TESTRAIL_VERSION=9.4.1.1002 WDPATH=C:\\temp\\testrail\\testrail-docker-ja-master
compose ファイルに関する注意点
すべての compose ファイルは、次の追加ボリュームに依存します。
-
- testrail_root:TestRail がインストールされる場所。
/var/www/testrailにマウントされます。 - testrail_opt :アップロードされたファイルなどが格納される場所。
/opt/testrailにマウントされます。 - testrail_db :データベースがある場所。
/var/lib/mysql.にマウントされます。 - testrail_config :TestRail を設定する config.php ファイルがある場所。
/var/www/testrail/configにマウントされます。
- testrail_root:TestRail がインストールされる場所。
コンテナーは testrail ブリッジ ネットワークで接続されます。php、ウェブ サーバーとDBの順に起動されます。
コンテナ起動/停止
コンテナ起動
docker-compose で起動します。(パッケージのダウンロードやビルドが実行されるため初回起動は 10 分程度必要です。)
docker-compose up -d
起動完了後、http://localhost:8000/ へアクセスして TestRail のセットアップを行います。
-
- Step 2/8 “Database Settings” では以下のデータベース情報を入力します。
- Driver: MySQL(5.x and higher)
- Server: db:3306
- Database: testrail
- User: testrail
- Passworkd: testrailpass
- 注意:.env ファイルにおいてデータベース名 (DB_NAME)、ユーザー (DB_USER) 、パスワード (DB_PWD) をデフォルトから変更した場合は、変更内容に合わせてください。
- Step 3/8 “RabbitMQ Settings” では TestRail の Webhook 機能を利用する場合のみ、以下の設定情報を入力します。(インストール後に設定画面から設定を行うこともできます。)
- Message Queue Server:rabbitmq
- Message Queue Port:5672
- Message Queue User:testrail
- Message Queue Password:testrail
- Use TLS:No (チェックボックスにチェックしない)
- Step 4/8 “Application Settings” では以下の設定を変更します。そのほかの項目もご利用の環境に合わせて変更してください。
- Default Language: 日本語
- 日本語が反映されるのは、インストール完了後です。
- Attachment Directory : /opt/testrail/attachments/
- Report Directory : /opt/testrail/reports/
- Log Directory * : /opt/testrail/logs/
- Audit Directory * : /opt/testrail/audit/
- Chrome Headless Shell Path *: /usr/bin/chrome-headless-shell-linux64/chrome-headless-shell
- Default Language: 日本語
- Step 6/8 の “License Key” では TestRail のライセンスキーを License Key に設定します。
- Step 2/8 “Database Settings” では以下のデータベース情報を入力します。
コンテナ停止
コンテナを停止する場合は、docker-compose で停止します。
docker-compose stop
コンテナ再開
コンテナを再開する場合は、docker-compose で再開します。
docker-compose start
コンテナ削除
コンテナを最初から作り直す場合は、以下の手順で行います。
-
- コンテナ、ボリューム、ネットワークを削除
docker-compose down -v
- コンテナ、ボリューム、ネットワークを削除
-
- イメージを削除 (同じイメージでコンテナを再作成する場合は、削除しなくても構いません。)
docker rmi testrail-docker-ja-master_srv testrail-docker-ja-master_db rabbitmq
- イメージを削除 (同じイメージでコンテナを再作成する場合は、削除しなくても構いません。)
-
- データ用フォルダを削除 ( _config / _mysql / _opt / _rabbitmq) ※TestRailに登録したデータが削除されます。
rm -r _cassandra _config _mysql _opt _rabbitmq
- コンテナを再作成するときは同名で空のフォルダを再作成してください。
- データ用フォルダを削除 ( _config / _mysql / _opt / _rabbitmq) ※TestRailに登録したデータが削除されます。
(参考)docker-compose の使用
docker-compose CLI リファレンスはこちらにあります。
その他の便利なオプション
| オプション | 説明 |
|---|---|
-v (名前付きボリュームを削除) |
このオプションは、シャットダウン後に一時ボリュームを削除するために重要であり、使用することが推奨されます。ボリュームをパージすべきでない場合は、このパラメータ―を使用しないでください。ただし、副作用がある可能性があるので注意が必要です。 |
-f (ファイル) |
別の compose ファイルを指定するのに使用します (デフォルトでは docker-compose.yml が使用されます)。 |
-p (プロジェクト) |
複数の TestRail インスタンスを起動する場合は必須です。指定されていない場合、docker-compose はすでに実行されているコンテナと通信します。 |
docker-compose が起動されたフォルダー名 (この場合は「internal-docker」) がプロジェクト名として使用され、生成されるすべてのコンテナーの先頭に付加されます。
推奨事項: 名前付きボリュームおよび匿名ボリュームを削除する docker-compose down -v を使用します。
アップグレード
docker-compose で構築した TestRail 8.0.1 環境を TestRail 9.4.1 へアップグレードする手順は以下のとおりです。
前提
TestRail 9.4.1 へのアップグレードには TestRail 8.0.4 を経由する必要があります。
前準備
docker-compose をテクマトリックス TestRail ユーザーページからダウンロード、もしくはこちらまでお問い合わせください。
-
- testrail-docker-ja-master_804.zip
- testrail-docker-ja-master_941.zip
バックアップ
アップグレード前にデータのバックアップを取得します。
アップグレード前の 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.zip 内の 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.zip 内の 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 から Microsoft SQL Server または 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 用のコンテナに入ります。