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 ポートを利用します。
- .env ファイルを利用環境に合わせて変更します。
HTTP_PORT=8000 DB_USER=testrail DB_NAME=testrail DB_PWD=testrailpass DB_ROOT_PWD=techmatrix WDPATH=C:\\temp\\testrail\\testrail-docker-ja-master
-
- Windowsで利用する場合のWDPATHに指定するパスの注意事項
- Docker-composeのバージョンにより、パスの指定方法が異なります。
- 1.27.3以降:WDPATH=C:\\temp\\testrail\\testrail-docker-ja-master
- 上記より前:WDPATH=/C/temp/testrail/testrail-docker-ja-master
- コンテナ起動時に以下のエラーが発生する場合はWDPATHの指定方法を変更して再度お試しください。
- Docker-composeのバージョンにより、パスの指定方法が異なります。
- Windowsで利用する場合のWDPATHに指定するパスの注意事項
Creating testrail-docker-ja-master_srv_1 … error ERROR: for testrail-docker-ja-master_srv_1 Cannot create container for service srv: failed to mkdir /var/lib/docker/volumes/testrail-docker-ja-master_testrail_opt/_data/attachments: mkdir /var/lib/docker/volumes/testrail-docker-ja-master_testrail_opt/_data/attachments: file exists ERROR: for srv Cannot create container for service srv: failed to mkdir /var/lib/docker/volumes/testrail-docker-ja-master_testrail_opt/_data/attachments: mkdir /var/lib/docker/volumes/testrail-docker-ja-master_testrail_opt/_data/attachments: file exists ERROR: Encountered errors while bringing up the project.
コンテナ起動/停止
コンテナ起動
docker-compose で起動します。(パッケージのダウンロードやビルドが実行されるため初回起動は 10 分程度必要です。)
docker-compose up -d
起動完了後、http://localhost:8000/ へアクセスして TestRail のセットアップを行います。
-
- Step 2/9 “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/9 “Cassandra Settings” では以下のデータベース情報を入力します。
- Server:cassandra
- Port:9042
- Keyspace:testrail
- User:cassandra
- Password:cassandra
- Step 4/9 “RabbitMQ Settings” では TestRail の Webhook 機能を利用する場合のみ、以下の設定情報を入力します。(インストール後に設定画面から設定を行うこともできます。)
- Message Queue Server:rabbitmq
- Message Queue Port:5672
- Message Queue User:testrail
- Message Queue Password:testrail
- Use TLS:No (チェックボックスにチェックしない)
- Step 5/9 “Application Settings” では TestRail を日本語で利用するため、以下の設定を変更します。そのほかの項目もご利用の環境に合わせて変更してください。
- Default Language: 日本語
- 日本語が反映されるのは、インストール完了後です。
- Default Language: 日本語
- Step 7/9 の “License Key” では TestRail のライセンスキーを License Key に設定します。
- Step 2/9 “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 testrail-docker-ja-master_cassandra rabbitmq
-
- データ用フォルダを削除 (_cassandra / _config / _mysql / _opt / _rabbitmq) ※TestRailに登録したデータが削除されます
- コンテナを再作成するときは同名で空のフォルダを再作成してください。
- データ用フォルダを削除 (_cassandra / _config / _mysql / _opt / _rabbitmq) ※TestRailに登録したデータが削除されます
rm -r _cassandra _config _mysql _opt _rabbitmq
バージョンアップ
TestRail 6.x から TestRail 8.0.1.1029 へ直接バージョンアップすることはできません。一度、7.0.2 にバージョンアップ後、8.0.1.1029 へバージョンアップしてください。
バージョンアップ手順の最後のマイグレーションスクリプトの実行は必ず実施してください。
TestRail 日本版のバージョンアップ手順は以下のとおりです。
-
- バージョンアップ対象のバージョン用の testrail-docker-ja-master.zip を用意します。
- (Linux環境上のDocker-composeを利用する場合のみ)ZIP ファイルを解凍後、以下のファイルの改行コードが、CRLF となっている場合は LF に変更してください。
- testrail-docker-ja-master\Dockerfiles\testrail_apache\custom-entrypoint.sh
- (Linux環境上のDocker-composeを利用する場合のみ)ZIP ファイルを解凍後、以下のファイルの改行コードが、CRLF となっている場合は LF に変更してください。
- バージョンアップ前にデータのバックアップを取得します。
- バージョンアップ前の testrail-docker-ja-master ディレクトリから以下のディレクトリのコピーを取得します。
- testrail-docker-ja-master\”{任意文字列}_opt”
- 以下の手順で DB バックアップを取得します。
- ホスト側から DB 用のコンテナに入る
- docker exec -it <testrailのdbコンテナ名> bash
- SQL のバックアップデータを取得。
- mysqldump -u <testrailのdbユーザー> -p testrail > backup.sql ※実行後にtestrailのdbユーザーのパスワードを入力
- exit ※コンテナを抜ける
- ホスト側からコンテナ内の SQL バックアップデータをホスト側にコピーする。
- docker cp <testrailのdbコンテナ名>:/backup.sql
- ホスト側から DB 用のコンテナに入る
- バージョンアップ前の testrail-docker-ja-master ディレクトリから以下のディレクトリのコピーを取得します。
- バージョンアップ前のコンテナ、ボリューム、ネットワークを削除します。
- バージョンアップ対象のバージョン用の testrail-docker-ja-master.zip を用意します。
docker-compose down -v
-
- バージョンアップ前のイメージを削除します。(イメージの名前はご利用環境に合わせてください。)
docker rmi testrail-docker-ja-master_srv testrail-docker-ja-master_db testrail-docker-ja-master_cassandra rabbitmq
-
- バージョンアップ対象のバージョン用の testrail-docker-ja-master.zip を解凍して、バージョンアップ前の testrail-docker-ja-master ディレクトリを上書きします。
- 注意:古いバージョンの .env ファイルの設定はバックアップとして上書き前に取得してください。.env ファイルには docker-compose のディレクトリ設定やDB接続情報が記載されています。新しい testrail-docker-ja-master フォルダ内の .env ファイルの内容を古いバージョンの .env ファイルに合わせて変更してください。
- docker-compose で起動します。(パッケージのダウンロードやビルドが実行されるため初回起動は 10 分程度必要です。)
- バージョンアップ対象のバージョン用の testrail-docker-ja-master.zip を解凍して、バージョンアップ前の testrail-docker-ja-master ディレクトリを上書きします。
docker-compose up -d
-
- コンテナ起動後、http://localhost:8000/ へアクセスします。初回アクセス時にデータベースのバージョンアップを求められるため、画面に従ってすすめてください。
- .env ファイルにてポート番号を変更している場合は変更したポート番号でアクセスしてください。
- 8.0.1.1029 では、Cassandra および RabbitMQ の設定画面が表示されます。TestRal の初期設定は、こちらをご確認ください。
- マイグレーションスクリプトを実行します。
- ホスト側から TestRail 用のコンテナに入る
- コンテナ起動後、http://localhost:8000/ へアクセスします。初回アクセス時にデータベースのバージョンアップを求められるため、画面に従ってすすめてください。
docker exec -it <testrail のコンテナ名> bash
-
-
- マイグレーションスクリプトの配置場所に移動
-
cd /var/www/testrail/migration_script
-
-
- スクリプトを実行
-
php ./TestRailSqlToCassandraMigration.php -d2 -m"driver=mysql;host=db;port=3306;database=testrail;user=testrail;password=testrailpass" -s"host=cassandra;port=9042;keyspace=testrail;user=cassandra;password=cassandra" -i