定期タスクは、設定された時間に自動的に実行されるタスクで、頻繁に実行される回帰テストや大規模なAPIテストなど、いくつかの一般的な問題を効果的に解決します。これらのタスクは、固定された時間または周期的に自動実行され、ソフトウェアの継続的インテグレーション(CI)および継続的デリバリー(CD)プロセスの安定性と信頼性を確保します。定期タスクを使用することで、人為的な操作ミスや手間を減らし、テストの効率と精度を向上させることができます。
Apidog は現在、定期タスクの設定をサポートしており、たとえば自動テスト内のテストシナリオを定期的に実行することが可能です。
定期タスクで生成されたテストレポートは、Slack、Webhook、Jenkins、メールなどのプラットフォームにも送信できます。
現在の自動化テストの定期タスクは、セルフホストRunnerに基づいて実行することのみサポートしています。Runnerは自動化プログラムと理解でき、独立したサーバーにホストすることが可能です。これにより、Apidog 内での自動化テストの定期タスク、API仕様書の定期インポートなどが実行されます。
以下では、セルフホストRunnerを使用して、自動化テストのシナリオを定期的に実行する方法について説明します。開始する前に、Apidog を最新バージョンに更新していることを確認してください!
前提条件
定期タスクを使用するには、まずサーバーインスタンスにRunnerをデプロイする必要があります。以下は、Runnerの実行環境に関する推奨構成およびデプロイ方法です。
Runnerの実行環境
推奨されるインスタンス仕様は次のとおりです:
ハードウェア | 推奨構成 |
---|---|
CPU | 少なくとも 2 コア、推奨は 4 コア以上。Runnerが定期タスクを並行実行できるようにします。 |
メモリ | 少なくとも 4GB のメモリ。チームのデータ量が大きい場合は、8GB 以上を推奨。Runnerがタスクを実行する際にデータのロードや生成に対応するためです。 |
ディスクスペース | ログ情報を保存するために少なくとも30GBが必要です。 |
サーバーインスタンスが準備できたら、Runner をデプロイする前に、インスタンスに Docker 環境がインストールされていることを確認する必要があります。Runnerは Docker を介してタスクを実行するためです。
Docker をインストール
サーバーインスタンスに Docker をインストールする方法は?Google で調べるか、Docker の公式ドキュメントを参考にしてください。Docker の最低バージョンは 20.10.0 である必要がありますのでご注意ください。
Docker 環境が整ったら、Runnerのデプロイを開始できます。
Runnerのデプロイ
まず、チーム管理者権限を持っていることを確認してください。次に、Apidogのメインウィンドウでチームを選択し、「チームリソース -> 一般ランナー -> デプロイ一般ランナー」を順にクリックします。
ポップアップウィンドウで一般Runnerをデプロイするためのコマンドをコピーし、必要に応じてコマンドを定義できます。サーバーOS、ポートの公開、データディレクトリのマウントなどをカスタマイズできます。以下はこれらの設定の詳細です:
2.Dockerイメージ:一般版、軽量版、カスタム版の3つのバージョンが提供されています。「カスタムスクリプト」で外部プログラムを呼び出す必要がある場合、含まれるランタイム環境に基づいて適切なイメージを選択してインストールします。
2.1一般版:ランナーのすべての機能が含まれており、次の外部プログラムのランタイム環境が組み込まれています:Node.js 18、Java 21、Python 3、PHP 8。
2.2軽量版:ランナーのすべての機能が含まれており、Node.js 18 のみのランタイム環境が組み込まれています。
2.3カスタム版:ランナーのすべての機能が含まれており、外部プログラムのランタイム環境をカスタマイズすることができます。Dockerfileを作成し、ニーズに応じて環境を追加または削除できます。
3.ポートの公開:デフォルトでは、Docker コンテナの内部ポートは外部アクセスに公開されません。-p パラメータを使用して、コンテナの内部ポートをホストのポートにマッピングすることで、外部からコンテナの提供するサービスにアクセスできます。たとえば、-p 80:4524 は、コンテナ内の 4524 ポートをホストの 80 ポートにマッピングします。
4.データディレクトリのマウント:-v パラメータを使用して、ホストのディレクトリをコンテナ内にマウントできます。これにより、コンテナはホスト上のファイル(データベース設定、外部プログラムなど)にアクセスして操作できます。たとえば、-v "/opt/runner":/opt/runner は、ホストの /opt/runner ディレクトリをコンテナの /opt/runner ディレクトリにマウントします。
サーバーインスタンスに先ほどコピーしたコマンドを貼り付けて実行すると、システムが自動的にイメージを取得してコンテナを起動します。
docker ps
コマンドを使用して、起動中の Runner サービスを確認できます。
Runnerのデプロイが完了したら、Apidog の「チームリソース」ページに戻り、接続されているRunnerサービスを確認できます(表示されない場合は、ページをリフレッシュしてみてください)。ここで、Runnerの管理が可能です。名前の変更、説明の追加、削除、停止、再起動などを行えます。
セルフホストRunnerのデプロイに成功した後、Apidog で定期タスクを作成して使用できるようになります。
定期タスクの作成
プロジェクトの自動化テストモジュールで「定期タスク」を選択し、新しい定期タスクを作成します。以下の情報を設定します:
- タスク名と説明:定期タスクを区別し、その詳細な目的を説明するために使用します。
- テストシナリオ:定期タスクは、選択された1つまたは複数のテストシナリオを実行し、各シナリオは個別に設定できます。
- 実行サイクル:タスクの実行サイクルを設定します。例えば、毎週日曜日の11時や6時間ごとに実行されます。
- 実行先:タスクを実行するインスタンスを選択します。Apidogクラウド(近日公開予定)またはチームのセルフホストRunnerを使用できます。
- 通知:通知を有効にすると、実行結果が設定に基づいて関係者に送信されます。プロジェクトメンバー以外のメールアドレスを手動で入力することもできます。
基本情報の設定が完了したら、保存するだけです。
定期タスクの実行
定期タスクは、設定された「実行サイクル」に基づいて自動的に実行されます。定期タスクのリストで、実行回数、ステータス、次の実行時間を確認できます。
テストレポートの確認
定期タスクが完了した後、実行結果は定期タスクの実行結果ページに保存されます。「実行履歴」ページにアクセスすることで、定期タスクの詳細な実行状況をいつでも確認できます。
また、システムは設定された通知チャネルに従って、関係者やプラットフォームに情報を送信します。
メール内の「詳細を確認」リンクをクリックすると、Apidog 内でより詳細な定期タスクレポートを確認することができます。
よくある質問
Q1.サーバーインスタンスに Runner をデプロイしましたが、「定期タスク」が設定された時間に実行されません。どうすればよいですか?
このような場合、まず Apidog で「定期タスク」を手動で一度実行してみることをお勧めします。その後、サーバーインスタンスで docker logs <container_id_or_name> コマンドを使用して、コンテナの実行ログを確認し、「定期タスク」に関する情報があるか確認します。
ログに関連情報がない場合、サーバーが 4524 番ポートを開放しているか、またそのポートがファイアウォールでブロックされていないか確認してください。
さらに、テストシナリオで「実行先」を現在デプロイされている Runner に変更し、「実行」ボタンをクリックします。アプリ内に表示される内容や Docker コンテナのログを確認し、テストシナリオが完了した後に「テストレポート」が返されるかどうかをチェックして、問題を詳しく特定します。
また、旧版の Docker コンテナとその対応するイメージを削除し、最新バージョンの Runner を再デプロイすることもお勧めします。それでも問題が解決しない場合は、ぜひ私たちのサポートチームに連絡し、さらなるサポートを受けてください。
Q2.サーバーインスタンスにインストールされた Runner を削除するにはどうすればよいですか?
まず、コンテナを削除する必要があります。コマンドは次のとおりです:
- コンテナを表示:
docker ps -a
- コンテナを停止:
docker stop <container_id>
- コンテナを削除:
docker rm <container_id>
次に、イメージを削除します。コマンドは次のとおりです:
- イメージを表示:
docker images
- イメージを削除:
docker rmi <image_id>
これで、サーバーインスタンスにデプロイされた Runner を完全に削除できます。
付録
以下は、デプロイ済みの Runner に対して実行できる一般的な Docker コマンドです:
操作 | コマンド |
---|---|
ローカルに保存されたすべてのイメージを一覧表示 | docker images |
イメージを削除 | docker rmi |
実行中のコンテナを表示 | docker ps |
すべてのコンテナを表示(停止したものを含む) | docker ps -a |
コンテナの実行ログを表示 | docker logs |
コンテナを起動 | docker start |
コンテナを再起動 | docker restart |
コンテナを停止 | docker stop |
コンテナを削除 | docker rm |
まとめ
定期タスクは、Apidog での作業効率を大幅に向上させ、操作プロセスを簡素化します。セルフホストランナーをデプロイすることで、自動化テストやインターフェースドキュメントのインポートを柔軟にスケジュールし、より効率的なチームコラボレーションを実現できます。今後、Apidog クラウドでの定期タスクサポートなど、さらに便利な機能を提供予定ですので、ぜひご期待ください!
詳細については、Apidog ヘルプドキュメントを参照してください。使用中に何か問題や提案がありましたら、いつでもユーザーグループでフィードバックをお寄せください。