2.4. 最初の YAML ルールを作成する
このセクションでは、最初の MTA YAML ベースのルールを作成してテストするプロセスを説明します。これは、すでに MTA がインストールされていることを前提としています。インストール手順は、CLI ガイド の CLI のインストールと実行 を参照してください。
この例では、アプリケーションが <class-loading>
要素を含む jboss-web.xml
ファイルの定義を行うインスタンスを検出するルールを作成します。また、コードの移行方法を説明するドキュメントへのリンクを提供します。
2.4.1. ルールの YAML ファイルを作成する リンクのコピーリンクがクリップボードにコピーされました!
- 最初のルール用の YAML ファイルを作成します。
mkdir /home/<USER>/rule.yaml
$ mkdir /home/<USER>/rule.yaml
2.4.2. ルールをテストするためのデータの作成 リンクのコピーリンクがクリップボードにコピーされました!
ディレクトリーに、
jboss-web.xml
およびpom.xml
ファイルを作成します。mkdir /home/<USER>/data/ touch /home/<USER>/data/jboss-web.xml touch /home/<USER>/data/pom.xml
mkdir /home/<USER>/data/ touch /home/<USER>/data/jboss-web.xml touch /home/<USER>/data/pom.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作成した
jboss-web.xml
ファイルに、次の内容を貼り付けます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作成した
pom.xml
ファイルに、次の内容を貼り付けます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.3. ルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
MTA YAML ベースのルールは、以下のルールパターンを使用します。
when(condition) perform(action)
when(condition)
perform(action)
手順
作成した
rule.yaml
ファイルに、次の内容を貼り付けます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ルールの一意の ID。たとえば、
jboss5-web-class-loading
です。 - 2
- ルールの文字での説明。
- 3
- 1 つ以上の条件を指定して
when
ブロックを完成させます。-
このルールは XML ファイル内の一致をチェックするため、
builtin
プロバイダーの XML ケイパビリティーを使用します。 jboss-web
の子であるclass-loading
要素を照合するには、XPath 式jboss-web/web-loading
を XML クエリーとして使用します。この場合、必要な条件は 1 つだけです。when: builtin.xml: xpath: jboss-web/class-loading
when: builtin.xml: xpath: jboss-web/class-loading
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
このルールは XML ファイル内の一致をチェックするため、
- 4
- 移行の問題を説明する役立つメッセージ。ルールが一致すると、レポートにメッセージが生成されます。以下に例を示します。
message: The class-loading element is no longer valid in the jboss-web.xml file.
message: The class-loading element is no longer valid in the jboss-web.xml file.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 5
- ルールの文字列ラベルのリスト。
- 6
- この問題を解決するために予想されるストーリーポイントの数。
- 7
- 検出した移行問題に関するドキュメントを指す 1 つ以上のハイパーリンク。
links: - url: https://access.redhat.com/documentation/ja-JP/JBoss_Enterprise_Application_Platform/6.4/html-single/Migration_Guide/index.html#Create_or_Modify_Files_That_Control_Class_Loading_in_JBoss_Enterprise_Application_Platform_6 title: Create or Modify Files That Control Class Loading in JBoss EAP 6
links: - url: https://access.redhat.com/documentation/ja-JP/JBoss_Enterprise_Application_Platform/6.4/html-single/Migration_Guide/index.html#Create_or_Modify_Files_That_Control_Class_Loading_in_JBoss_Enterprise_Application_Platform_6 title: Create or Modify Files That Control Class Loading in JBoss EAP 6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以上でルールが完成しました。ルールは次のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.4. ルールのインストール リンクのコピーリンクがクリップボードにコピーされました!
手順
CLI で、作成したルールファイルを指定します。
–rules /home/<USER>/rules.yaml
–rules /home/<USER>/rules.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.5. ルールのテスト リンクのコピーリンクがクリップボードにコピーされました!
手順
ルールをテストするには、作成したテストデータを入力に指定し、MTA CLI のルールオプションを使用してルールを渡します。
mta-cli analyze --input /home/<USER>/data/ --output /home/<USER>/output/ --rules /home/<USER>/rules.yaml
mta-cli analyze --input /home/<USER>/data/ --output /home/<USER>/output/ --rules /home/<USER>/rules.yaml
2.4.6. レポートを確認する リンクのコピーリンクがクリップボードにコピーされました!
レポートを確認して、予想される結果が表示されることを確認します。
手順
分析が完了すると、コマンドは HTML レポートへのパスを出力します。
INFO[0066] Static report created. Access it at this URL: URL="file:/home/<USER>/output/static-report/index.html"
INFO[0066] Static report created. Access it at this URL: URL="file:/home/<USER>/output/static-report/index.html"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Web ブラウザーで、
/home/<USER_NAME>/output/static-report/index.html
を開きます。- 左側のメニューの Issues タブに移動します。
ルールが実行されていることを確認します。
-
Issues テーブルの検索バーに
JBoss XML
と入力します。 -
テーブルに、タイトルが
Find class loading element in JBoss XML file
の問題が存在することを確認します。
-
Issues テーブルの検索バーに
- jboss-web.xml リンクをクリックして、影響を受けたファイルを開きます。