UFT One と Jenkins
Jenkins の継続的インテグレーション・プロセスの一環として,ローカル・ファイル・システム,ALM,または ALM ラボ管理から UFT One テストを実行します。
UFT One テストを実行するには,Jenkins フリースタイル・プロジェクトまたはパイプラインのいずれかを使用できます。このトピックでは,UFT One を Jenkins と統合して UFT One テストを実行する方法について説明します。
Application Automation Tools プラグインを使用した Jenkins サーバのセットアップ
UFT One テストを実行するように Jenkins サーバをセットアップします。
次の手順を実行します。
-
Jenkins と Application Automation Tools プラグインをインストールします。詳細については,Jenkins プラグインのページを参照してください。
-
Jenkins サーバのホームページで,[New Item]をクリックするか,既存のアイテムを選択します。
-
開いたページで,新しいジョブのアイテム名を入力し,[Freestyle project]または[Pipeline]を選択して,[OK]をクリックします。
サポートされているパイプライン・ジョブ・タイプについては,Jenkins プラグインのページを参照してください。
注:
-
プラグインをバージョン 6.8 にアップグレードすると,Jenkins のセキュリティ・ポリシーによって,Jenkins がプラグインのビルド・ステップを削除することがあります。
回避策:Application Automation Tools プラグイン 6.8 以降を使用して,ビルド・ステップを再作成してください。
-
プラグインをアップグレードまたはダウングレードするときは,常にブラウザのキャッシュをクリアすることをお勧めします。
ジョブの実行ノードの選択
このジョブでテスト実行用に 1 つ以上の実行ノードを選択します。
-
Jenkins ジョブの[General]セクションで,[This project is parameterized]を選択します。
-
[Add Parameter]>[Node]を選択し,次のノード・オプションを入力または定義します。
Name ノード定義の名前を定義します。 Default nodes ジョブが外部プロセスによってトリガされたときに使用するデフォルト・ノードを 1 つ以上選択します。
Possible nodes ジョブを手動で作成するときに使用するノードを 1 つ以上選択します。
ビルド・オプション ビルドをトリガする際のノードの選択方法として,次のいずれかのオプションを選択します。
-
Run next build only if build succeeds
-
Run next build only if build succeeds or is unstable
-
Run next build regardless of build result
-
Allow multi-node selection for concurrent builds:[Execute concurrent builds if necessary]が設定されたジョブの場合に必要です。
設定すると,選択したすべてのノードでビルドが並列実行されます。このジョブを作成する前に,選択したすべてのノードがオンラインであることを確認してください。
-
Disallow multi-node selection when triggering build manually:ビルドをトリガする際にユーザがビルド・ノードを選択できるようにするには,このオプションを選択します。
Node eligibility オフラインまたは一時的にオフラインのノードの処理方法を選択します。
- All Nodes:オンライン/オフラインの状態に関わらず,選択したすべてのノードでジョブをトリガします。
- Ignore Offline Nodes:テストの実行に利用可能な UFT One インスタンスがあるオンラインのノードでのみジョブをトリガします。
- Ignore Temp Offline Nodes:現在オフラインとしてマークされているノードを除く,選択したすべてのノードでジョブをトリガします。
Description ノード設定の説明を定義します。 -
注: 失敗シナリオを設定する場合,ここで設定するノードと,失敗シナリオで選択するノードが一致する必要があります。
詳細については,テスト実行の失敗シナリオの設定を参照してください。
ヒント: UFT One Application Automation Tools プラグインは,ジョブのノードを定義するためのさまざまな方法をサポートしています。このトピックでは,最も一般的に使用される,推奨手順の 1 つについて説明します。
詳細については,Jenkins プラグインのページで「Create an execution node」を参照してください。
続いて,次のいずれの手順に進みます。
UFT One の Jenkins タスクにおけるデータ・セキュリティ
このセクションでは,Jenkins ビルドのセキュリティを保護するために提供されるセキュリティ・メカニズムと,データを保護するために使用できるいくつかのプラクティスについて説明します。
Jenkins ビルドのセキュリティ保護
フリースタイルまたはパイプライン・ジョブのビルド・プロセス中に,Jenkins サーバで定義した資格情報やテストのデータが誤って公開される場合があります。このようなリスクを防ぐために,Jenkins 用の Application Automation Tools プラグインでは,キーを使用して,ビルド・プロセスでテストに含まれる機密データのセキュリティを保護します。
Application Automation Tools プラグインのバージョン | 資格情報とシークレットのセキュリティを確保する方法 |
---|---|
バージョン 7.4 より前 | すべての実行ノードで,暗号化と復号化の両方に共通の共有キーが使用されます。 |
バージョン 7.4 以降 |
ビルド・プロセス中は各実行ノードで,パブリック・キーとプライベート・キーのペアを使用して機密データの暗号化と復号化を行い,サーバ上の 256 ビット・マスタ・キーによってノード上のすべてのプライベート・キーを暗号化します。このメカニズムにより,セキュリティが向上します。 |
パブリック・キーとプライベート・キーのペアとマスタ・キーは両方とも,プラグインをインストールすると自動的に生成されます。しかし,予期せず公開された場合は,いつでも再生成できます。
-
ノードのパブリック・キーとプライベート・キーのペアを再生成するには,次の手順を実行します。
-
[Manage Jenkins]>[Manage Nodes and Clouds]で,ノードを選択してクリックします。
-
ノードの詳細ページの左側のメニューで,[Configure]をクリックします。次に,設定ページで,[Encryption for UFT sensitive data]オプションの選択を解除します。
次回,このノードでジョブを実行すると,パブリック・キーとプライベート・キーのペアが再生成されます。
-
-
サーバのマスタ・キーを再生成するには,次の手順を実行します。
-
Jenkins サーバの Jenkins インストール・ディレクトリに移動します。
-
com.microfocus.application.automation.tools.settings.UFTEncryptionGlobalConfiguration.xml ファイルを削除します。
-
ジョブを実行するすべてのノードでパブリック・キーとプライベート・キーのペアを再生成します。詳細については,UFT One と Jenkinsを参照してください。
注: ビルド中に無効なキー・サイズのエラーが発生した場合は,Jenkins サーバが,AES 暗号化で任意のキー・サイズを暗黙的に許可しない Java バージョンで実行されているかどうかを確認してください。この動作は,特定のセキュリティ・ポリシーをアップグレードすることで変更できます。
-
データ・セキュリティ・プラクティス:テスト実行結果のパスワードのエンコード
Jenkins ビルドのテスト実行結果は,Jenkins UI の[Console Output],[Test Result],[UFT Report]に表示されます。
Application Automation Tools プラグイン・バージョン 7.6 以降では,テスト実行結果の Password パラメータの値を難読化できます。これにより,データのセキュリティが確保され,権限のない人物にパスワードが見られるのを防ぐことができます。
-
[Console Output]および[Test Result]ページでパスワードをエンコードするには,次の手順を実行します。
Jenkins UI で Password タイプの GUI テスト・パラメータを指定する場合は,これらのパラメータが UFT Oneでもパスワード・タイプとして定義されていることを確認します。
-
[UFT Report]ページでパスワードをエンコードするには,次の手順を実行します。
-
Jenkins UI で Password タイプの GUI テスト・パラメータを指定する前に,パスワード・エンコーダ・ツールを使用してパラメータ値をエンコードします。
-
その後,エンコードした値をパラメータ・テーブルに入力します。
パスワード・エンコーダ・ツールの使用方法については,パスワード・エンコーダ・ツールを参照してください。
-
セキュリティ上の注意
機密情報は暗号化およびエンコードされますが,Micro Focus では,Jenkins ジョブによって生成された不要なファイルを定期的に削除することをお勧めします。これらのファイルが Micro Focus の Jenkins Application Automation Tools プラグインによって削除されることはありません。
これらのファイルは,<Jenkins インストール・フォルダ>\workspace\<ジョブ名> フォルダに格納されています。
ファイルを削除しない場合,システムのセキュリティ・リスクが増大する可能性があります。お客様は,関連するすべてのリスクを引き受け,Micro Focus を免責することに同意するものとします。
お客様側の規制およびビジネス要件の評価は,常にお客様の責任になります。Micro Focus は,Micro Focus の製品がお客様のビジネスを遂行する上でお客様に適用される特定の法的基準または規制基準に準拠していることを表明も保証もしません。
その他の参照項目: